0
我創造我的DB2數據庫中的存儲過程,這裏是我的存儲過程的代碼:糾正DB2存儲過程的錯誤
CREATE OR REPLACE PROCEDURE PWDCHANGE (UNAME IN VARCHAR(32),
OLDPWD IN VARCHAR(32),
NEWPWD IN VARCHAR(32))
AS
BEGIN
IF LOGINTABLE.USERNAME = UNAME AND LOGINTABLE.PASSWORD = OLDPWD THEN
UPDATE LOGINTABLE SET PASSWORD = NEWPWD;
DBMS_OUTPUT.PUT_LINE('Password Changed Successfully!');
ELSE DBMS_OUTPUT.PUT_LINE('Incorrect Old Password Input');
END IF;
END;
但正如我在IBM Data Studio中部署它,它會顯示它說的錯誤:
Deploy SENJOBLADE.PWDCHANGE(VARCHAR(32), VARCHAR(32), VARCHAR(32))
Running
SENJOBLADE.PWDCHANGE - Deploy started.
Create stored procedure returns SQLCODE: -104, SQLSTATE: 42601.
SENJOBLADE.PWDCHANGE: 1: An unexpected token "VARCHAR" was found following "PWDCHANGE (UNAME IN". Expected tokens may include: ",".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.13.111
An unexpected token "VARCHAR" was found following "PWDCHANGE (UNAME IN". Expected tokens may include: ",".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.13.111
SENJOBLADE.PWDCHANGE - Deploy failed.
SENJOBLADE.PWDCHANGE - Roll back completed successfully.
我不知道爲什麼VARCHAR是一個意外的標記,我不知道該怎麼改變才能部署我的存儲過程。這個存儲過程的功能是接受3個用於密碼更改的輸入,一個用戶名,一個當前密碼和替換密碼,這就是爲什麼我有3個IN值。
SENJOBLADE是我的架構名稱,LOGINTABLE是具有兩列的表名,用戶名& Password列
我試圖消除VARCHAR處理這個錯誤顯示:
Deploy SENJOBLADE.PWDCHANGE(IN, IN, IN)
Running
SENJOBLADE.PWDCHANGE - Deploy started.
Create stored procedure returns SQLCODE: -104, SQLSTATE: 42601.
SENJOBLADE.PWDCHANGE: 2: An unexpected token "BEGIN" was found following "PWD IN)
AS
". Expected tokens may include: ":".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.13.111
An unexpected token "BEGIN" was found following "PWD IN)
AS
". Expected tokens may include: ":".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.13.111
SENJOBLADE.PWDCHANGE - Deploy failed.
SENJOBLADE.PWDCHANGE - Roll back completed successfully.
請幫幫忙,我還在學習存儲過程,所以我還沒有習慣它。任何幫助將不勝感激,謝謝!
我該怎麼做?我在IBM Data Studio中通過右鍵單擊並選擇DEPLOY – 2013-03-09 13:12:23
來部署我的存儲過程。對不起,我的答案不會幫助,但是應該 - 刪除單詞'as'並用短語'LANGUAGE SQL'替換它,如下所示: 'CREATE OR REPLACE PROCEDURE PWDCHANGE(UNAME IN VARCHAR(32), OLDPWD IN VARCHAR(32), NEWPWD IN VARCHAR(32)) 語言SQL BEGIN ...' – adrianz 2013-03-09 15:40:36