2011-07-05 44 views
2

我試圖打電話與下面的頭一個PL/SQL腳本:調用的Oracle PL/SQL PLS-00201:標識符 '001' 必須聲明

PL/SQL:

CREATE OR REPLACE PROCEDURE GETQUOTE(i_QUOTEID IN HR.QUOTEID, 
            o_QUOTE OUT HR.QUOTE) 

執行命令:

DECLARE c VARCHAR2(100); 

BEGIN 

    HR.GETQUOTE("001", c); 

END; 
/

錯誤:

declare 
c varchar2(100); 
begin 
HR.GETQUOTE("001", c); 
end; 

ORA-06550: line 4, column 29: 
PLS-00201: identifier '001' must be declared 
ORA-06550: line 4, column 1: 
PL/SQL: Statement ignored 

回答

1

您正在使用錯誤的引號類型。如果你想001是字符串文字,你需要使用單引號。

試試這個:

SELECT '001' FROM dual; 

SELECT "001" FROM dual; 
0

試試這個:

declare c varchar2(100); 

begin  
    hr.getquote('001', c);  
end;  
/

在PL/SQL單引號必須用於字符串。

+0

嗨馬克西姆,它不起作用。 –

+0

你仍然得到相同的錯誤? –

+0

不,使用單引號時,我有一個PLS-00306:調用'GETQUOTE'時出現錯誤的參數或參數類型。 –

1

使用單引號:

然後

校驗,所述第一值是一個字符串不是過程內的數。 你也可以嘗試以號碼('001')作爲參數

相關問題