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

Вниз

@@IDENTITY   Найти похожие ветки 

 
Alex-kosmonavt   (2004-01-29 14:51) [0]

Как в MS SQL 2000 можно получить @@IDENTITY столбца определенной таблицы? Т.к. на самом деле планирутся запрос собирать в Делфи средствами Query.SQL.Add и как там его можно прописать??


 
Alex-kosmonavt   (2004-01-29 14:57) [1]

Ой кажется сам нашел
IDENT_CURRENT("Табле")

Но тогда если можно Ваш комментарий, насколько это подойдет для транзакционных или триггерных обновлений.

Идея такая, что при добавлении новой записи в 1 таблицу, во вторую должны добавиться записи с ID этой записи в первой таблице и параметрами. И здесь вот вопрос относительно целостностей.


 
Ega23 ©   (2004-01-29 15:04) [2]

Declare @X int
Set NoCount On
Insert into Table1 (Col1, Col2) values (1,2)
Select @X=@@IDENTITY
Insert into Table2 (Table1_ID, Col1, Col2) values (@X,1,2)
Set NoCount OFF
Select Result=@X


последняя строчка - необязательна


 
Nikolay M. ©   (2004-01-29 15:04) [3]

Статья на rsdn.ru "Перенос приложений MIDAS с одной СУБД на другую"


 
Alex-kosmonavt   (2004-01-29 15:14) [4]

to ega23
1)
а если проецировать на триггер
то строка
Insert into Table1 (Col1, Col2) values (1,2)
это не что иное как запрос вызвавший триггерное обновление и в этом случае если триггер будет начинаться с Select @X=@@IDENTITY, то IDENTITY какой из таблиц он вернет??
2) а как в триггер запихнуть значения переменных из оболочки Делфи (там например edit1.text и прочее)?


 
Ega23 ©   (2004-01-29 15:31) [5]


> Alex-kosmonavt (29.01.04 15:14) [4]

А, вот ты о чём.

After an INSERT, SELECT INTO, or bulk copy statement completes, @@IDENTITY contains the last identity value generated by the statement. If the statement did not affect any tables with identity columns, @@IDENTITY returns NULL. If multiple rows are inserted, generating multiple identity values, @@IDENTITY returns the last identity value generated. If the statement fires one or more triggers that perform inserts that generate identity values, calling @@IDENTITY immediately after the statement returns the last identity value generated by the triggers. The @@IDENTITY value does not revert to a previous setting if the INSERT or SELECT INTO statement or bulk copy fails, or if the transaction is rolled back.

А вообще я в таких случаях не пользуюсь триггерами (кстати, ещё один минус в их сторону. Ну не люблю я их.), а пользуюсь ХП.


 
Ega23 ©   (2004-01-29 15:32) [6]


> 2) а как в триггер запихнуть значения переменных из оболочки
> Делфи (там например edit1.text и прочее)?

Ты представляешь, что такое триггер? ИМХО, не представляешь.



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

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

Наверх




Память: 0.48 MB
Время: 0.037 c
1-79710
Miwa
2004-02-12 05:17
2004.02.25
Где найти компонент ListBox+PageControl?


6-80050
smu
2003-12-22 10:10
2004.02.25
Как TNMSMTP связать с ProgressBar?


1-80003
Comp
2004-02-13 11:17
2004.02.25
Запись в файл


1-79965
_Прохожий
2004-02-13 15:51
2004.02.25
Получение иконки по расширению файла


3-79589
ulyanitsky
2004-01-25 22:09
2004.02.25
Создание структуры БД. Что лучше?