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

Откуда: Пермь
Сообщений: 18323
Хочу иметь сквозной ключ для нескольких таблиц. Для этого есть таблица Keys.
CREATE TABLE [dbo].[Keys](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[KeysOwnerID] [int] NULL,
PRIMARY KEY CLUSTERED 
(
	[ID] ASC
)
GO
CREATE TABLE [dbo].[StandartKey1](
	[KeysID] [int] NOT NULL,
	[PropertyValue] [int] NOT NULL
 CONSTRAINT [PK__StandartKey1] PRIMARY KEY NONCLUSTERED 
(
	[KeysID] ASC
)
GO

ALTER TABLE [dbo].[StandartKey1]  WITH CHECK ADD  CONSTRAINT [FK_StandartKey1_Keys] FOREIGN KEY([KeysID])
REFERENCES [dbo].[Keys] ([ID])
GO
Если добавлять по одной записи, то проблем нет. Это делается так:
Declare @KeysID id
Insert into Keys ( KeysOwnerID )
            values  ( @KeysOwnerID )
            set @KeysID = scope_identity()

            Insert  into StandartKey1(KeysID,PropertyValue)
            VALUES  (@KeysID,@PropertyValue) 
Go
Но как быть, если я хочу вставить сразу много записей?
Insert into Keys ( KeysOwnerID )
select   @KeysOwnerID from someTable

Insert into StandartKey1(KeysID, PropertyValue)
select ???, PropertyValue from someTable
В данном случае получить список только что вставленных ключей не получится.
7 июл 09, 07:41    [7383951]     Ответить | Цитировать Сообщить модератору
 Re: Получения списка вставленных записей.  [new]
pacha
Member

Откуда:
Сообщений: 239
output? для версии >= 2005
7 июл 09, 07:54    [7383974]     Ответить | Цитировать Сообщить модератору
 Re: Получения списка вставленных записей.  [new]
Deff
Member

Откуда: Пермь
Сообщений: 18323
pacha
output? для версии >= 2005
Да, то что доктор прописал. Спасибо. Не знал, но верил:)
7 июл 09, 08:10    [7383996]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить