假设我有两列用户定义表类型
CREATE TYPE [Schema].[Type] AS TABLE (
[Name] NVARCHAR (100) NULL
[Value] int NULL
);
进一步假设我已经将表类型传递给了存储过程
CREATE PROCEDURE [Schema].[sp_SomeProcedure]
@TVP [Type] READONLY
AS
SELECT
[Name]
,1 + [Value]
FROM
@TVP
我可以将@TVP的值默认为
(SELECT 'John', 1)
最佳答案
您可以在调用该过程时为TVP使用“ DEFAULT”关键字。这将传递该类型的空表。
示例-如果TVP是传递给过程的第二个参数:
Exec myProcedure (intParam, DEFAULT)