oracle 带有变量的语句_Oracle定义PLSQL变量(精)

前言:

使用变量可以保存计算机需要处理的数据,为了给该变量分配适当的

内存空间,还需要指定数据类型,有的数据类型还需要指定长度,如字符串。

些类型可以用于建表

(

char

,有些则不能

(

boolean

rowtype

同样是字符串,

建表时的限制为

4000,

在脚本中则为

3

万多。

简单语法:变量名

数据类型

;

完整语

法:变量名

[constant]

变量类型

[not null] [default

| :=

]

其中

“[ ]”

表示可以不

写,

“|”

表示任选其一。

下面给出变量定义及解释,数据类型先用建表时所用的数

据类型:

v1 char

说明:没有给出长度,所以

v1

只能保存一个字符。超过了则会

出错:数字或值错误

:

字符串缓冲区太小。

v2 varchar2(10;

说明:

v2

最多只能保存

10

个字符。如果不写长度,会出错:字符串长度限制在范围

(1...32767 v3 number;

说明:

v3

保存的数字范围非常大,几乎可以认为是没有限制的。

v4 number(5;

明:

v4

最多能够保存

5

位整数。如果有小数,

Oracle

会自动四舍五入。如果整数

部分超过

5

位,则会报错:数字或值错误

:

数值精度太高。

v5 number(5,2;

说明:

v5

最多能够保存

3

位整数

,2

位小数。如果小数位不止

2

位,则

Oracle

会自动四舍

五入。整数位超过

3

位会报错,同上。

v6 date;

说明:可以直接保存

sysdate

值;如果是指定日期,则要用

to_date

来转化。否则报错:文字与格式字符串不匹

配。

定义了变量,变量的默认值为空,此时进行计算,结果一定为

NULL

。所以

变量必须初始化。

初始化有三种方式:

v7 constant number := 100;

说明:定义

v7

为常量,定义时就必须给定值。然后在程序中就不能再对

v7

进行赋值了,否则会

报错:表达式

'V7'

不能用作赋值目标。

v8 number default 10;

说明:定义

v8

时就给

定默认值

10

。注意,

number

类型变量的默认值不是

0,

而是

NULL

v9 number not

null := 1000.50;

说明:定义

v9

变量不能为空,此时必须给出一个不为

NULL

值。在运行时发现

v9

NULL

,则报错:说明为

NOT NULL

的变量必须有初始化

赋值。

预测各打印结果,如果代码有错误请先改正:

declare v1 char; v2

varchar2(10; v3 number; v4 number(5; v5 number(5,2; v6 date; v7 number default 10;

begin v1:='ab'; v2:='abcd'; v4:=9998.99; v5:=1000.5555555; v6:=to_date('2002-10-

2','yyyy-mm-dd'; dbms_output.put_line(v1; dbms_output.put_line(v2;

dbms_output.put_line(v3+100; dbms_output.put_line(v4; dbms_output.put_line(v5;

dbms_output.put_line(v6; dbms_output.put_line(v7+100; end;

只能在脚本中使用的变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值