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 处理隐式数据类型转换在运行计划中的增强

如何在 bigquery 中创建标准 SQL 表

批量删除Sql Server对象(表,存储过程,触发器)

将表数据类型从 SQL Server 转换为 Oracle 并将动态 SQL 数据插入到表数据类型

sqlserver触发器如何知道当前处理啥类型的触发

SQL Server数据库--表--新建表时的数据类型都是啥意思啊?