当我尝试执行此功能时,我收到错误。当我执行没有函数的命令而没有使用变量时,它工作,因此我认为该值不适用于我的变量,声明或变量的设置不起作用。如果我使用SELECT或SET来设置变量并不重要,我会得到相同的错误,字面上只是说:命令无法执行。
CREATE FUNCTION ueberpruefe_kfz_status (@kennzeichen CHAR(15))
RETURNS VARCHAR
AS
BEGIN
DECLARE @ergebnis VARCHAR
SELECT STATUS
INTO @ergebnis
FROM KFZ
WHERE KENNZEICHEN = @kennzeichen
RETURN @ergebnis
END
以下是结构,示例数据和错误的一些屏幕截图: https://picload.org/folder/ldpwa.html
答案 0 :(得分:1)
根据图片中显示的表格结构,您的列STATUS
似乎属于CHAR
类型。
尝试将函数返回类型从VARCHAR更改为CHAR,如 -
RETURNS CHAR
变量@ergebnis的类型为CHAR -
DECLARE @ergebnis CHAR
您可以指定length
和CHAR,例如CHAR(15),它应该是greater than or equal to the length of your STATUS column
。