Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как получить перед вставкой в таблицу значение ID  [new]
nikomp
Member

Откуда: Нижний Новгород
Сообщений: 905
Есть таблица

CREATE TABLE [dbo].[TSTRUCT](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[NAME] [nvarchar](255) NOT NULL,
	[KINDOBJ] [nvarchar](20) NOT NULL,
	[XTOP] [int] NOT NULL,
	[YTOP] [int] NOT NULL,
	[XBOT] [int] NOT NULL,
	[YBOT] [int] NOT NULL,
	[FIND] [nvarchar](1) NOT NULL,
	[NOTE] [nvarchar](1000) NULL,
	[IDLIST] [int] NOT NULL,
	[OBJDATE] [nvarchar](20) NOT NULL,
 CONSTRAINT [PK_TSTRUCT] PRIMARY KEY CLUSTERED 


Хотелось бы перед вставкой в таблицу получить ID, чтоб в поле NAME вставлять значение по умолчанию "Элемент_"+ID
В FireBird для этого существуют генераторы.

Если получить значение перед вставкой затруднительно или по каким-то причинам не рекомендуется, подскажите как получить значение ID после вставки для использования в другой таблице.
29 окт 15, 10:00    [18341622]     Ответить | Цитировать Сообщить модератору
 Re: Как получить перед вставкой в таблицу значение ID  [new]
Glory
Member

Откуда:
Сообщений: 104760
nikomp
Если получить значение перед вставкой затруднительно или по каким-то причинам не рекомендуется

Это не рекомендуется, потому что либо всем остальным придется ждать, пока вы решите что вам делать с полученным ID. Или если вы будете слишком долго раздумывать, что вам делать, то ID уже займет кто-то другой

nikomp
подскажите как получить значение ID после вставки для использования в другой таблице.

SCOPE_IDENTITY()

nikomp
В FireBird для этого существуют генераторы.

А в MSSQL - последовательности

И вообще заполнение пары таблиц мастер-детали делается по-другому
29 окт 15, 10:09    [18341696]     Ответить | Цитировать Сообщить модератору
 Re: Как получить перед вставкой в таблицу значение ID  [new]
iap
Member

Откуда: Москва
Сообщений: 47047
nikomp,

очень просто реализуется в триггере на INSERT.
29 окт 15, 10:31    [18341861]     Ответить | Цитировать Сообщить модератору
 Re: Как получить перед вставкой в таблицу значение ID  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8316
Фраза "Элемент_"+ID реализуется вычисляемым столбцом или представлением.
29 окт 15, 11:08    [18342139]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить