变量分类
1、普通数据类型(char,varchar2,date,number,boolean,long)
2、特殊变量类型 (引用型变量,记录型变量)
声明方式
变量名 变量类型(变量长度) 例如: address varchar2(200);
1.1、普通变量
变量赋值
a、直接赋值 := 例如 age:=20;
b、语句赋值,select ... into 赋值;(语法 select 值 into 变量)
DECLARE --姓名 v_name varchar2(20):='zhangsan'; --薪水 v_sal number; --地址 v_addr varchar2(200); begin --直接赋值 v_sal:=20000; select '北京市' into v_addr from dual; --打印变量 dbms_output.put_line('姓名:'||v_name||',薪水:'||v_sal||',地址:'||v_addr); end;
1.2、引用型变量(变量的类型长度取决于表中字段类型和长度)
通过表名.列名%TYPE指定变量的类型和长度,例如: v_name emp.ename%TYPE;
DECLARE --姓名 v_name emp.ename%TYPE:='zhangsan'; --薪水 v_sal emp.sal%TYPE; begin --查询表中姓名和薪水并赋值给变量 select ename,sal into v_name,v_sal from emp where empno=7839; --打印变量 dbms_output.put_line('姓名:'||v_name||',薪水:'||v_sal); end;
1.3、记录型变量(接受表中的一行记录)
语法:变量名 表名%ROWTYPE,例如: v_emp emp%ROWTYPE;
DECLARE --记录型变量 v_emp emp%ROWTYPE; begin --直接赋值 select * into v_emp from emp where empno=7839; --打印变量 dbms_output.put_line('姓名:'||v_emp.ename||',薪水:'||v_emp.sal); end;