错误SQL Server 2012:未为函数X提供参数

问题描述 投票:2回答:2

我已经定义了具有11个参数的表值函数X。它们的类型分别为nvarchar(30)nvarchar(30)datetimedatetimenvarchar(15)nvarchar(4)xmlnvarchar(8)nvarchar(80)bitbit。这用于Microsoft SQL Server2012。当我使用

调用函数时
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?]]

UPDATE

如果我传递任意字符串而不是null,问题仍然存在。因此,肯定还有另一个(也许是愚蠢的)错误。

我已经定义了具有11个参数的表值函数X。它们的类型是nvarchar(30),nvarchar(30),datetime,datetime,nvarchar(15),nvarchar(4),xml,nvarchar(8),nvarchar(80),bit和bit ...

sql sql-server sql-server-2012 stored-functions
2个回答
4
投票

定义类似您所描述的函数的正确方法如下:


0
投票

如果您的函数不需要任何参数,但是仍然出现该错误:

© www.soinside.com 2019 - 2024. All rights reserved.