【发布时间】:2014-11-06 13:56:19
【问题描述】:
我定义了一个表值函数X,有11 个参数。它们的类型分别为nvarchar(30)、nvarchar(30)、datetime、datetime、nvarchar(15)、nvarchar(4)、xml、nvarchar(8)、nvarchar(80)、bit和@9这是针对 Microsoft SQL Server 2012 的。当我使用
select * from
X('A','B','2014-01-01','2014-12-31',null,null,'<C><D>E</D></C>',null,null,1,0)
我遇到了这个错误:
Parameters were not supplied for the function X
显然与以下两种不同:
An insufficient number of arguments were supplied for the procedure or function X
Procedure or function X has too many arguments specified.
这是否与两个预期的参数值null 有关?如何克服这个问题并定义/调用一个表值函数,例如这个有 11 个参数的函数,其中一些可能带有 null?
更新如果我传入任意字符串而不是null,问题仍然存在。所以肯定还有另一个(也许是愚蠢的)错误。
【问题讨论】:
-
你能给出 X 的函数声明的第一行吗?
-
我已经定义了一个像你描述的那样的电视,并用你的查询来测试。它执行没有任何问题。肯定是函数定义有问题
-
能否请您提供功能。
标签: sql sql-server sql-server-2012 stored-functions