深入ORACLE变量的定义与使用的详解

时间:2022-10-30 13:58:37

在程序中定义变量、常量和参数时,则必须要为它们指定PL/SQL数据类型。在编写PL/SQL程序时,可以使用标量(Scalar)类型、复合(Composite)类型、参照(Reference)类型和LOB(Large
Object)类型等四种类型。
在PL/SQL中用的最多的就是标量变量,当定义标量变量时,必须要指定标题数据类型,标题数据类型一般包括:数字类型,字符类型,日期类型,布尔类型,每种类型又包含相应的子类,例如NUMBER类型包含INTEGER,POSITIVE等子类型。

一、常用标量类型

1.VARCHAR2(N)

2.CHAR(N)

3.NUMBER(P,S)

4.DATE

5.TIMESTAMP 
该数据类型是9i时增加的,它也用于定义日期和时间数据。给它赋值的方法与给DATE变量赋值的方法完全相同。但当显示时它不仅会显示日期,还会显示时间和上下午标记。

6.LONG和LONG
RAW

7.BOOLEAN

8.BINARY_INTEGER

9.BINARY_FLOAT  
和 BINARY DOUBLE 这两个类型是ORACLE10新增加的 用的时候不是很多

二、使用标量变量

在PL/SQL中为变量赋值不同于其他编程语言,必须要在等号之前加上冒号( := )。

eg:

DECLARE

x NUMBER ;
y   NUMBER ;

--7:输出几位数,3为四舍五入三位数(正:小数点右边三位数,负:小数点左边三位数)
  z number(7,3);
  codeid
number;
BEGIN
   x:=200.0088;
   y:=x+10;
   z:=1000.0088;

dbms_output.put_line(x);
   dbms_output.put_line('y='||y);

dbms_output.put_line('z='||z);
   --给变量codeid赋值
   SELECT SUM(user_id)
INTO codeid FROM hr_employee hr;

dbms_output.put_line('codeid='||codeid);
   codeid:=codeid*100;

dbms_output.put_line('codeid='||codeid);
end;

打印结果,如下:
x=200.0088
y=210.0088
z=1000.009
codeid=1045
codeid=104500