在存储过程中将数据表作为参数传递

时间:2015-07-08 09:12:00

标签: sql-server sql-server-2008

是否可以将datatable作为参数传递给存储过程? 所以,像

exec MyStoredProcedure @MyDataTable

我正在使用SQL SERVER 2008。

2 个答案:

答案 0 :(得分:4)

您需要先创建用户定义的表类型。

-- Create the data type
CREATE TYPE udtt_Table AS TABLE 
(
    Column1     int, 
    Column2     varchar(10), 
    Column3     datetime
)
GO

您可以在存储过程中使用用户定义的表类型,如下所示

CREATE PROCEDURE usp_User
(
    @UserTable  udtt_Table READONLY
)
...
....

答案 1 :(得分:1)

您可以创建自己的类型:https://msdn.microsoft.com/en-us/library/ms175007.aspx

但这是一项相当重要的工作......您到底想要达到什么目标?

编辑:另一个建议 使用XML参数(参见下面的评论)

相关问题