sql server:处理空表类型
Posted
技术标签:
【中文标题】sql server:处理空表类型【英文标题】:sql server : handle null table type 【发布时间】:2017-06-17 12:37:18 【问题描述】:我在sql过程中传递了一个空表类型并得到错误操作数类型冲突:varchar与MyFilters不兼容,我们如何解决它,TIA。
过程:-
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)
)
【问题讨论】:
给我们看创建dbo.MyFilters
的代码
包含 T-SQL 实现代码。
【参考方案1】:
表格类型不能为空,但可以为空(不包含任何行)
您可以在没有参数的情况下简单地执行您的 sp:EXEC [dbo].[Filters]
和 @MyFilters 将为空
【讨论】:
以上是关于sql server:处理空表类型的主要内容,如果未能解决你的问题,请参考以下文章
也谈SQL Server 2008 处理隐式数据类型转换在运行计划中的增强