2017-06-19 43 views
2

當我嘗試執行此函數時出現錯誤。當我在沒有函數的情況下執行該命令並且沒有使用變量時,它會起作用,因此我認爲該值不適用於我的變量,聲明或變量的設置不起作用。無論我使用SELECT還是SET來設置變量都沒有關係,我得到的錯誤實際上只是說:該命令無法執行。值不適用於SQL Anywhere中的變量

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

+2

你可以分享你的KFZ表結構和確切的錯誤信息,你正在得到? –

+1

你可以顯示一些樣本數據和'Select'語句的結果嗎? –

+0

我添加了一些截圖。 –

回答

1

按圖像中看到你的表結構,它看起來像你的列STATUSCHAR類型。 嘗試從VARCHAR改變你的函數返回類型爲CHAR喜歡 -

RETURNS CHAR 

和可變@ergebnis的類型爲CHAR喜歡 -

DECLARE @ergebnis CHAR 

您可以用CHAR沿指定length,比如CHAR(15 ),應該是greater than or equal to the length of your STATUS column