博主自主知识产权《Spring Boot深入浅出系列课程》(16章97节文档) 已经上线,请关注

PLSQL-简单的语句块及变量的定义

oracle 字母哥 0评论

简单的语句块及变量的定义

常用数据类型变量的定义


declare sNum number(1); sCount binary_integer := 0; --默认值0 sSal number(7, 2) := 5000.00; --7位数,精度2位 sDate date := sysdate; sPI number(3, 2) := 3.14; sValid boolean := true; sName varchar2(20) := 'Jackson'; begin dbms_output.put_line('sName:' || sName); dbms_output.put_line('sCount:' || sCount); dbms_output.put_line('sSal:' || sSal); dbms_output.put_line('sDate:' || sDate); dbms_output.put_line('sPI:' || sPI); --dbms_output.put_line('sValid:' || sValid); --boolean数据类型无法直接转换成varchar类型输出 dbms_output.put_line('sName:' || sName); end;

定义数组变量类型


declare --声明类型 type type_table_emp_empno is table of emp.empno%type index by binary_integer; --定义一个数组,数组的元素类型emp.empno%type --emp.empno%type含义即元素类型和emp表的empno数据类型一致 --index by binary_integer保证了数组空间的自扩展 empnos type_table_emp_empno; --定义变量(变量 类型) begin empnos(0) := 7369; empnos(2) := 6789; empnos(-1) := 6543; dbms_output.put_line(empnos(-1)); end;

定义record变量类型


declare --声明类型 type type_record_dept is record ( deptno dept.deptno%type, dname dept.dname%type, loc dept.loc%type );  --变量定义 temp type_record_dept; begin temp.deptno := 56; temp.dname := 'software'; temp.loc := 'gz'; dbms_output.put_line(temp.deptno || ' ' || temp.dname || ' ' || temp.loc); end;

使用rowtype声明record变量


declare temp dept%rowtype; --temp是一个record变量,数据类型同dept表 begin temp.deptno := 57; temp.dname := 'it'; temp.loc := 'sz'; dbms_output.put_line(temp.deptno || ' ' || temp.dname || ' ' || temp.loc); end;

变量的赋值

sql语句完成变量赋值


declare v$sal emp.sal%type; --加上一个v$对存储过程区分变量与字段名称好习惯 v$ename emp.ename%type; begin select sal, ename into v$sal, v$ename from emp where rownum = 1; --将emp表的第一条记录的sal和ename值赋给对应的变量 dbms_output.put_line(v$sal || ' ' || v$ename); end;

sql语句完成rowtype变量赋值


declare v_row_emp emp%rowtype; begin select * into v_row_emp from emp where empno = 7698; --注意这里用的select星 dbms_output.put_line(v_row_emp.sal || ' ' || v_row_emp.ename); end;

转载自

  • (在此博文基础上做了注释,及table类型修正,实际为数组类型) http://www.cnblogs.com/hoojo/archive/2011/05/03/2035335.html
喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址