System Tables
- From
- Dmitry Stryahin (2:5020/1057.42)
- To
- All
- Date
- 2006-05-27T15:01:02Z
- Area
- SU.DBMS.SQL
Приветствую тебя, All!
Есть задача: нужно проверить, существует ли ссылка (запись в таблице) на
некий справочник, и если есть, то показать ее. Например, есть справочник
Контрагенты (Agents) и есть документы (Счет, Счет-фактура, Накладная).
Чтобы получить все поля, с которыми связан справочник использую вот такой
запрос:
***
select
so.[name] as tbl_name,
sc.[name] as [col_name]
from sysforeignkeys as sf
inner join sysobjects as so
on sf.fkeyid = so.[id]
inner join syscolumns as sc
on sf.fkey = sc.colid and sf.fkeyid = sc.[id]
where sf.rkeyid = (select [id] from sysobjects where [name] = 'Agents')
***
Таблицы и поля я получил, а вот как их все перебрать в запросе - не знаю. Можно
ли вообще подбную операцию осуществить с помощью запроса или нужно на клиенте
ее обрабатывать?
До новых встреч!
--- GoldED 3.0.1
* Origin: Лучше день потерять, потом за час долететь... (2:5020/1057.42)
SEEN-BY: 50/12 203 450/159 186 1024 451/30 454/9 461/43 132 640 469/999
SEEN-BY: 4614/20 4616/3 4625/8 4641/444 5000/76 5000 5001/5001 5006/1 5007/1
SEEN-BY: 5010/53 70 5011/13 5012/23 46 5015/28 5019/31 5020/86 175 194 400 545
SEEN-BY: 5020/639 715 758 830 982 1057 1200 1523 1604 1665 1909 1922 2013 2238
SEEN-BY: 5020/4441 5021/3 29 5022/128 5025/3 750 5026/10 14 45 5027/12 5029/32
SEEN-BY: 5030/217 436 473 556 966 1063 1080 1339 1900 5035/38 5036/1 5040/47
SEEN-BY: 5042/13 5045/7 5047/47 5049/1 5051/15 5054/1 8 9 28 35 37 45 63 67
SEEN-BY: 5055/95 5057/1 5059/9 5060/88 5061/15 5062/1 5066/18 5077/70 5080/68
SEEN-BY: 5080/1003 5082/6 5083/21 5084/32 5085/13 5090/106 5093/27 5095/20
SEEN-BY: 5096/18 5099/133 6009/1
PATH: 5020/1057 400 4441 545 5054/1 37