Главная страница
    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.45 MB
Время: 0.032 c
4-80377
Amadeus
2003-12-19 00:08
2004.02.25
Ставлю глобальный хук на клавиатуру, но клавиши не ловятся.


1-80015
denis24
2004-02-12 19:00
2004.02.25
старый вопрос проокругление


14-80088
Карелин Артем
2004-02-04 13:19
2004.02.25
Если покупать Дельфи Б/У.......


1-79730
Borealis
2004-02-12 15:24
2004.02.25
Эмуляция net send


7-80318
Borys
2003-12-05 03:28
2004.02.25
Эквивалент WindowProc (C++) в Delphi?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский