понедельник, 16 марта 2009 г.

Операции DML - Insert

Select colimn1 into NewTable from Table1

Эта команда создаёт новую таблицу для набора данных полученного в результате селекта, это bulk - операция, поэтому во многих случаях она является наиболее высокопроизводительным решением. Вставка может осуществляться как в обычную так и во временную таблицу.

Insert into Table1 exec StoreProc1

Позволяет ставить результат выполнения хранимой процедуры в существующую таблицу

Insert into Table1(Column1, Column2) Select Column1, Column2 from Table1

Вставляет данные из селекта в существующую таблицу

Insert и OUTPUT

Ключевое слово OUTPUT позволяет использовать в дальнейшем набор данных использованный в операции Insert.

Речь идёт о механизме, подобном тому, который используется в триггерах. Вставленные данные доступны в таблице inserted

DECLARE @NewRows TABLE
(RowsID NCHAR(5) NOT NULL PRIMARY KEY,
KeyCol INT NOT NULL UNIQUE);

INSERT INTO dbo.Table1(RowsID, Rows)

OUTPUT inserted.RowsID, inserted.KeyCol INTO @NewRows

SELECT RowsID, Rows FROM Table2 ;

SELECT RowsID, KeyCol FROM @NewRows;

Комментариев нет:

Locations of visitors to this page