Sql server 2008 用于在一个表中插入多行并在另一个表中插入单行的SQL Server存储过程

Sql server 2008 用于在一个表中插入多行并在另一个表中插入单行的SQL Server存储过程,sql-server-2008,Sql Server 2008,我需要一个用于销售事务的存储过程。在单个SP中,我需要在一个表中存储CustomerID,在另一个表中存储购买的产品列表(多行) 谁能给我举个最好的例子 提前感谢。在存储过程中,您可以根据需要在任何表中使用任意多个insert命令,因为您的问题不太清楚,我无法编写您想要的确切存储过程,所以我正在编写一个示例 use [databasename] go create procedure [dbo].[my_stored_procedure](@customerid int) as begin in

我需要一个用于销售事务的存储过程。在单个SP中,我需要在一个表中存储
CustomerID
,在另一个表中存储购买的产品列表(多行)

谁能给我举个最好的例子


提前感谢。

在存储过程中,您可以根据需要在任何表中使用任意多个insert命令,因为您的问题不太清楚,我无法编写您想要的确切存储过程,所以我正在编写一个示例

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
表值参数是SQLServer2008中引入的一项新功能。在早期版本的SQL SERVER中,无法将存储过程中的表变量作为参数传递,但现在在SQL SERVER 2008中,我们可以使用表值参数向存储过程或函数发送多行数据,而无需创建临时表或传递太多参数

你可以读到它

有关将其与ado一起使用的详细信息 检查这篇伟大的文章


向我们展示您已经拥有的。。。。。你试过什么?你被困在哪里?这不是一个类似gimme ze codez的网站-我们可以帮助解决特定问题,但我们不只是为您编写整个代码…我知道我需要如何获取SP的输入参数,以便在一个表中插入1条记录(CustomerID)和30条记录(ProductName,Quantity)在另一个表中感谢您的回复如何获取表someothertable的字段1和字段2的1 customerid 30记录的输入。我自己将它们作为单个值发送,并在sp中分隔。例如,如果我必须发送一些数字,我会发送:“532545236586823355624232”,然后用逗号分隔它们。您需要在while语句中逐个字符进行检查以将它们分开。