Хранимая процедура SQL Server для вставки нескольких строк в одну таблицу и одной строки в другую таблицу - PullRequest
0 голосов
/ 10 декабря 2011

Мне нужна хранимая процедура для транзакции продажи. В одном SP мне нужно хранить CustomerID в одной таблице, а список продуктов (несколько строк) - в другой.

Кто-нибудь может дать мне лучший пример?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 09 февраля 2012

Табличные параметры - это новая функция, представленная в SQL SERVER 2008. В более ранних версиях SQL SERVER невозможно передать табличную переменную в хранимой процедуре в качестве параметра, но теперь в SQL SERVER 2008 мы можемиспользуйте параметр с табличными значениями для отправки нескольких строк данных в хранимую процедуру или функцию без создания временной таблицы или передачи стольких параметров.

Вы можете прочитать об этом здесь

для получения дополнительной информации об использовании его с ado, проверьте эту замечательную статью

Табличные параметры SQL Server 2008 и пользовательские итераторы C #: сопоставление, заключенное на небесах!

0 голосов
/ 10 декабря 2011

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

use [databasename]
go
create procedure [dbo].[my_stored_procedure](@customerid int) as
begin
insert into [customerstable](customerid) values (@customerid)
insert into [someothertable](somefieldname1, somefieldname2) values(somefield1value, somefield2value)
insert into [someothertable2](somefieldname1, somefieldname2) values(somefield1value, somefield2value)

end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...