2010-04-03 46 views
1

我想聲明g_num,數字數據類型的大小,它給出了一個錯誤,但在varchar2的情況下,它不會。sql plus中聲明變量關鍵字的變量(oracle 9i)?

variable g_name varchar2(5);//correct accept size for varchar 2 
variable g_num number(23);//Gives an error 

    " VAR[IABLE] [ <variable> [ NUMBER | CHAR | CHAR (n [CHAR|BYTE]) | 
       VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) | 
       NVARCHAR2 (n) | CLOB | NCLOB | REFCURSOR ] ]" 

請建議!

回答

4

答案已經出現在您的錯誤消息中:NUMBER不允許SQL * Plus中的精度。

VARIABLE g_num NUMBER; 

的作品。

這是SQL * Plus中的list with valid variable declarations

documentation說:

NUMBER
創建類型NUMBER的具有固定長度的變量。


不幸的是,我不知道爲什麼你不能在SQL * Plus指定的精度,但我已經能夠存儲1.0E+125與我的測試。

你需要什麼精度?