n 介绍
在编写pl/sql程序是,可以定义变量和常量;在pl/sql程序中包括有:
①标量类型(scalar)
②复合类型(composite)
③参照类型(reference)
④lob(large object)
标量(scalar)一常用类型
在编写pl/sql块时,如果要使用变量,需在定义部分定义变量。
n pl/sql中定义变量和常量的语法如下:
identifier [constant] datatype [not null][:=|default expr]
identifier:名称
constant:指定常量,需要指定它的初始值,且其值是不能改变的
datatype:数据类型
not null:指定变量值不能为null
:= : 给变量或是常量指定初始值
default:用于指定初始值
expr:指定初始值的pl/sql表达式,可以是文本值、其它变量、函数等
n 标量定义的案例
①定义一个变长字符串
v_ename varchar2(10)
②定义一个小数 范围-9999.99~9999.99
v_sal number(6,2);
③定义一个小数并给一个初始值为5.4:=是pl/sql的赋值号
v_sal2number(6,2):=5.4
④定义一个日期类型的数据
v_hiredate date;
⑤定义一个布尔变量,不能为空,初始值为false
v_valid boolean:=false;
n 标量(scalar)一使用标量
在定义好变量后,就可以使用这些变量。这里需要说明的是pl/sql块为变量赋值不同于其它编程语言,需要在等号前加冒号(:=)
案例:以输入工号,显示雇员姓名、工资、个人所得税(税率为0.03)为例,说明变量的使用,看看如何编写。
create or replace procedure pro1(v_in_empno in number) is
v_tax_rate number(3,2):=0.03;
v_sal number;
v_ename varchar2(32);
v_tax number;
begin
select ename,sal into v_ename,v_sal from emp where empno=v_in_empno;
v_tax:=v_sal*v_tax_rate;
dbms_output.put_line(v_ename||'工资是 '||v_sal||' 个人所得税是 '||v_tax);
end;
n 标量(scalar)一使用%type类型
对于上面的pl/sql块有一个问题:
就