我在sql过程中传递一个空表类型并且收到错误操作数类型冲突:varchar与MyFilters不兼容,我们如何解决它,TIA。
Proc: -
Create procedure [dbo].[Filters]
(
@MyFilters dbo.MyFilters READONLY,
@UserId int=0
)
as
begin
-- code..
end
输入: -
CREATE TYPE [dbo].[MyFilters] AS TABLE(
ColumnName varchar(30),
FirstFilterType varchar(20),
FirstFilterVal varchar(200),
SecondFilterType varchar(20),
SecondFilterVal varchar(200),
MultiOperator varchar(10),
IsMulti bit,
ColumnType varchar(20)
)
答案 0 :(得分:0)
表类型不能为null,但它可以为空(没有任何行)
您可以简单地执行sp而不使用参数:EXEC [dbo].[Filters]
和@MyFilters将为空