Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Foreign Key определить, все зависимые элементы, Foreign Key определить, все зависимые эл 
:(
    Опции темы
Delphist
Дата 4.12.2006, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 1
Всего: 3



У меня есть две таблицы связанные следующим образом:
 MainTable
 RAW_ID, RAW_NAME, RAW_VALUE
 DependantTable
 MOD_ID, RAW_ID, MOD_NAME, MOD_VALUE
 
 В DependantTable поле RAW_ID через ForeignKey связано с полем RAW_ID таблицы MainTable. Как мне узнать, для каких таблиц и каких записей этих таблиц RAW_ID MainTable является ForeignKey и вообще является ли он ForeignKey.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Dremlin
Дата 4.12.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Quo vadis?
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 21.9.2006
Где: Киев

Репутация: 1
Всего: 4



1.
ForeignKey - это не атрибут записи. Если на поле определен ForeignKey, то он применяется ко всем записям.

2.
Если я правильно понял задачу, то
Код

select distinct MainTable.raw_id
from MainTable a join DependantTable b on a.raw_id=b.raw_id

вернет все raw_id из MainTable, на которые ссылается хотя бы одна запись из DependantTable.

3. 
Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

--------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются...
PM MAIL   Вверх
Rodman
Дата 4.12.2006, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Цитата(Delphist @  4.12.2006,  10:05 Найти цитируемый пост)
для каких таблиц и каких записей этих таблиц RAW_ID MainTable является ForeignKey


для таблицы DependantTable...

я связывать просто через запрос...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Delphist
Дата 4.12.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 1
Всего: 3



Цитата(Rodman @  4.12.2006,  16:51 Найти цитируемый пост)
а связывать просто через запрос... 

Нет. Мне нужна универсальная процедура, которой на вход передается имя таблицы на которую ссылаются, имя её ID ключа, текущее значение ключа. И мне нужно, чтобы эта процедура нашла записи таблиц ссылающиеся на ID ключа этой главной таблицы.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Dremlin
Дата 4.12.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Quo vadis?
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 21.9.2006
Где: Киев

Репутация: 1
Всего: 4



может все-таки скажешь пару слов о СУБД? или сие есть коммерческая тайна?
--------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются...
PM MAIL   Вверх
Rodman
Дата 4.12.2006, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Интересно...

Вот к примеру, Access сразу при создании запроса ставит связи между полями, у которых одинаковое название полей.

Так и ты, просто в остальных найти поле, с аналогичным именем...

Или не подходит методы???

Это сообщение отредактировал(а) Rodman - 4.12.2006, 19:07
PM MAIL WWW Skype GTalk YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.