Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.09;
Скачать: CL | DM;

Вниз

как организовать ссылочную целостность между таблицами   Найти похожие ветки 

 
Андрей1   (2002-12-16 18:07) [0]

Добрый вечер .
Имеются программа на Delphi 3 (Microsoft SQL Server 2000 , BDE)
в которой используются две таблицы
test - главная , detal - подчинённая
в таблице test поле id_num - первичный индекс ,
в таблице detal поле id_det - внешний ключ (ссылается на id_num в master таблице).
Необходимо при вставке записи в подчинённую таблицу заполнять поле id_det
значением из id_num master таблицы.
Попытался организовать ссылочную целостность между таблицами
с помощью триггера на detal таблицу

CREATE TRIGGER [t_detal] ON [dbo].[detal]
FOR INSERT, UPDATE
AS
Declare
@id_test bigint ,
@id_detal bigint

select @id_test = t.id_num
from test t
select @id_detal = d.id_det
from detal d , inserted i
where i.id_det = d.id_det
update detal
set id_det = @id_test

Проблема заключается в том ,что в поле id_det подчиненной таблицы
вставляется одно и тоже значение независимо от того какая запись
в master таблице является текущей.

Очень расчитываю на вашу помощь
С Уважением Андрей.


 
still ©   (2002-12-16 18:14) [1]

Нет такого понятия - текущая запись в SQLServer.
Это в TTable есть, а на сервере нет.
Т.е.

> select @id_test = t.id_num
> from test t

where t.id_num=???

иначе он тебе выбирает всю таблицу - и естественно всегда получишь первую запись.

т.е. это надо реализовывать не на сервере (уж точно, что не с пом. триггеров), а на клиенте.



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

Текущий архив: 2003.01.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
8-24978
Comwad
2002-09-20 13:16
2003.01.09
Почему Beep(1000,1000) из WinProcs не работает под WIN 95/98


1-24929
ironwit
2002-12-26 09:48
2003.01.09
теоретический вопрос -как программно заблокировать файл


1-24959
Дурак2
2002-12-26 07:33
2003.01.09
или я не прав или как


4-25152
Cosmic
2002-11-22 00:13
2003.01.09
Правила общения


1-24940
Def
2002-12-26 13:58
2003.01.09
Бегущая строка