Вниз
Скачать: CL | DM;

Получение информации о Primary Key   Найти похожие ветки 

← →
Александр_н   (2005-11-02 16:21) [0]

Подскажите, как можно из таблицы извлечь программным путём информацию о том, какое поле является ключевым (PRIMARY KEY). Спасибо.


← →
ANB ©   (2005-11-02 16:30) [1]

Тип БД надо бы указать.


← →
Sergey13 ©   (2005-11-02 16:31) [2]

http://www.citforum.ru/database/interbase/index.shtml


← →
Александр_н   (2005-11-02 16:31) [3]

ANB:  Oracle


← →
Sergey13 ©   (2005-11-02 16:39) [4]

2[3] Александр_н   (02.11.05 16:31)
См. вьюхи начинающиеся на all_ или user_ и дальше по аглицки название того что надо. В данном случае all_constraints и тому подобное.


← →
ANB ©   (2005-11-02 16:39) [5]

Тады не есть великая проблема.
select   Uc.Table_Name
       ,Ucc.Column_Name
       ,Ucc.position
   from User_Constraints Uc, User_Cons_Columns Ucc
  where Constraint_Type = "P"
    and Ucc.Constraint_Name = Uc.Constraint_Name
order by Uc.Table_Name, Ucc.Column_Name, Ucc.position


← →
ANB ©   (2005-11-02 16:40) [6]

Ну еще условие на имя конкретной таблицы наложить надо.


← →
Sergey13 ©   (2005-11-02 16:44) [7]

2Александр_н   (02.11.05 16:21)
А тригеры и прочий ПЛ/СКЛ тоже переносить будешь? 8-)


← →
ANB ©   (2005-11-02 16:59) [8]

А еще кузяво перенести вьюхи, сиквенсы, пакеты и прочее. А то может и не заработать.


← →
Александр_н   (2005-11-02 17:14) [9]

Спасибо 8-), но достаточно только имена и тип полей и какое поле ключевое.


← →
Val ©   (2005-11-02 17:19) [10]

получите ддл нужных объектов и пройдитесь replace по нему.


← →
ANB ©   (2005-11-02 17:25) [11]


> Александр_н   (02.11.05 17:14) [9]

Ключевых полей может быть несколько. Поэкспериментируй с запросом.


> Val ©   (02.11.05 17:19) [10]

А запости плиз код, который генерит DDL таблицы.


← →
Val ©   (2005-11-02 17:37) [12]

>ANB ©   (02.11.05 17:25)
зачем? в любом инструментарии для разработки(типа SQL Navigator etc.) д.б. что-то типа "извлечь ддл". если надо автоматизировать, то достаем текст из системной таблички.


← →
ANB ©   (2005-11-02 17:54) [13]


> Val ©   (02.11.05 17:37) [12]

У автора стоит задача перенести данные из оракла в другую субд на автомате. И как он в этот автомат вызов функций навигатора запихает ?


> то достаем текст из системной таблички.
- из какой ?


← →
Val ©   (2005-11-03 12:00) [14]

>[14] ANB ©   (02.11.05 17:54)
У автора стоит задача ...
это я должен был протелепатить?
способ получения ддл зависит от количества переносимых объектов - если их небольшое кол-во, то лучше получать, анализировать, изменять ддл "руками".
- из какой ?
зависит от объекта, но для таблиц, конечно, только доставать инфу и генерить ддл самому, думаю.


← →
Александр_н   (2005-11-03 16:20) [15]

ANB Задача именно такова. И так как опыта работы с системными таблицами у меня нет, то был бы рад получить пример, как это сделать, желательно работающий 8-).


← →
Александр_н   (2005-11-03 16:32) [16]

Примечание: Работаю с помощью ODAC-компонентов


← →
ANB ©   (2005-11-03 17:43) [17]


> Александр_н   (03.11.05 16:20) [15]

Ну, полный пример писать лениво. Кстати, если нужно перекачивать много данных - лучше на DOA перейти. Для доставания инфы о таблицах нужно использовать системные вьюхи. Правда на FK они тормозят, мне пришлось ускорять это дело через запрос напрямую к системным таблицам. Если очень нужно - могу выслать модуль, который просто качает структуру схемы в мои служебные таблицы. Переделаешь его в скриптогенератор. И для общего развития выполни запросы :
select * from ALL_VIEWS where View_Name like "ALL_%"
и
select * from ALL_VIEWS where View_Name like "USER_%"

Получишь список полезных вьюх.


← →
ANB ©   (2005-11-03 17:44) [18]

ЗЫ. Сами одак-компоненты тебе вряд ли помогут.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.042 c
14-1133636713
Юзверюга
2005-12-03 22:05
2005.12.25
А это что за клон?


9-1122456076
Дед с Морковкой
2005-07-27 13:21
2005.12.25
Формат рисунка dds.


5-1118818137
mmms
2005-06-15 10:48
2005.12.25
Компонент от DBGrid, дописать OnColumnMoved


2-1134234102
Alexious
2005-12-10 20:01
2005.12.25
Много одинаковых объектов


14-1132867755
TStas
2005-11-25 00:29
2005.12.25
МП




   Наверх