在sql plus(oracle 9i)中使用变量关键字声明的变量?

时间:2010-04-03 08:34:57

标签: oracle sqlplus

我试图声明g_num,数字数据类型的大小,它给出了一个错误但是在varchar2的情况下,char它没有。

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 ] ]"

请建议!

1 个答案:

答案 0 :(得分:4)

答案已在您的错误消息中:NUMBER不允许SQL * Plus中的精度。

VARIABLE g_num NUMBER;

作品。

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

documentation说:

  

<强>号
  创建一个NUMBER类型的固定长度的变量。


不幸的是,我不知道为什么你不能用SQL * Plus指定精度,但是我已经能够将1.0E+125与我的测试一起存储。

你需要什么精度?