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

发布于 2024-08-27 12:38:29 字数 404 浏览 6 评论 0原文

我试图声明 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 ] ]"

请建议!

I am trying to declare g_num ,number data type with size it gives an error but in case of varchar2,char it does not.

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

Please suggest!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

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

VARIABLE g_num NUMBER;

作品。

以下是 SQL*Plus 中的包含有效变量声明的列表

文档说:

数字
创建具有固定长度的 NUMBER 类型变量。


不幸的是,我不知道为什么不能使用 SQL*Plus 指定精度,但我已经能够通过测试存储 1.0E+125

你需要精确度来做什么?

The answer is already in your error message: NUMBER does not allow a precision in SQL*Plus.

VARIABLE g_num NUMBER;

works.

Here is a list with valid variable declarations in SQL*Plus.

The documentation says:

NUMBER
Creates a variable of type NUMBER with fixed length.


Unfortunately I don't know why you can't specify precision with SQL*Plus, but I have been able to store 1.0E+125 with my tests.

What do you need precision for?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文