gpt4 book ai didi

sql - 错误 SQL Server 2012 : Parameters were not supplied for the function X

转载 作者:行者123 更新时间:2023-12-02 09:35:31 26 4
gpt4 key购买 nike

我已经定义了一个表值函数 X,它有 11 个参数。它们的类型是nvarchar(30), nvarchar(30), datetime, datetime, nvarchar( 15), nvarchar(4), xml, nvarchar(8), nvarchar(80) >、bitbit 分别。这是针对 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,问题仍然存在。所以肯定还有另一个(也许是愚蠢的)错误。

最佳答案

定义函数的正确方法如下:

CREATE FUNCTION X
(
-- Add the parameters for the function here
@a nvarchar(30),
@b nvarchar(30),
@c datetime,
@d datetime,
@e nvarchar(15),
@f nvarchar(4),
@g xml,
@h nvarchar(8),
@i nvarchar(80),
@j bit,
@k bit
)
RETURNS
@output TABLE
(
-- Add the column definitions for the TABLE variable here
data nvarchar(250)
)
AS
BEGIN

INSERT INTO @output (data)
VALUES (@a + @b)

RETURN
END
GO

根据上面的定义,这:

select * from 
X('A','B','2014-01-01','2014-12-31',null,null,'<C><D>E</D></C>',null,null,1,0)

产生以下结果:

data
----
AB

关于sql - 错误 SQL Server 2012 : Parameters were not supplied for the function X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26781254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com