【发布时间】:2017-07-14 08:10:52
【问题描述】:
我有一个这样的数据表,一个过程将像这样在其中填充数据,
DECLARE @ClaimChanges TABLE (
ChangeType NVARCHAR(10)
,contract_id int NOT NULL
,dispatch_id int NOT NULL
,dispatch_claim_id int NOT NULL
,item_no VARCHAR(100) NULL
,old_units VARCHAR(100) NULL
);
然后我想将该数据传递给一个不同的存储过程,该过程将像这样定义,
CREATE procedure [dbo].[ct_audit_oncost](
@table TABLE readonly,
@OutValue nvarchar(255) = null output
)
as
-- some stuff
go
我认为这是不可能的,因为我遇到了错误,
Incorrect syntax near the keyword 'TABLE'.
【问题讨论】:
-
绝对有可能。你只是不能随意传递一张桌子。它需要定义为用户定义的表类型。然后您可以通过表值参数传递它们。 docs.microsoft.com/en-us/sql/relational-databases/tables/…
标签: sql sql-server