Oracle的pl/sql变量范例
pl/sql界说 sql是布局化查询说话。sql是不是一个编程说话?编程说话一样平常都可以或许声明变量,写前提判定,轮回。sql不具备这 pl/sql块 pl/sql匿名块的布局: 留意:1,pl/sql块 变量名,要害字不区分巨细写。 变量和常量 ? 声明变量 : 变量范例 其他范例 ?%type范例(列范例) %type范例指的是声明变量的时辰,该变量参考某个表的某个列的范例。 declare -- 变量声明部门 v_ename 范例参考emp表的ename的范例 v_ename emp.ename%type; v_sal emp.sal%type; begin -- 营业逻辑执行部门 select ename,sal into v_ename,v_sal from emp where empno=&请输入员工编号; -- 把员工姓名打印到节制台 dbms_output.put_line(‘员工姓名:‘||v_ename||‘,根基人为:‘||v_sal); exception -- 非常处理赏罚部门 when no_data_found then dbms_output.put_line(‘您输入的员工编号不存在‘); end; %rowtype(行范例) declare -- 声明行范例变量 v_emp emp%rowtype; begin -- 营业逻辑执行部门 select * into v_emp from emp where empno=&请输入员工编号; -- 把员工姓名打印到节制台 dbms_output.put_line(‘员工姓名:‘||v_emp.ename||‘,根基人为:‘||v_emp.sal||‘,奖金:‘||v_emp.comm ||‘雇佣日期:‘||v_emp.hiredate); exception -- 非常处理赏罚部门 when no_data_found then dbms_output.put_line(‘您输入的员工编号不存在‘); end; record范例(记录范例) declare -- 声明record范例 type emp_record_type is record( ename emp.ename%type,sal emp.sal%type,total emp.sal%type ); -- 声明record范例的变量 v_emp emp_record_type; begin -- 查询数据,给变量赋值 select ename,sal,sal+nvl(comm,0) into v_emp from emp where empno=&no; -- 输入record范例变量中的数据 dbms_output.put_line(‘员工姓名:‘||v_emp.ename||‘,总人为:‘||v_emp.total); end; table范例 (表范例) declare -- 声明table范例 is table of 后可以跟行范例,也可所以记录范例 type emp_table_type is table of emp%rowtype -- 指定下标的增添方法为整数,每次增添1 index by binary_integer; -- 声明table范例的变量 v_emp emp_table_type; begin -- 把编号为7369的员工的信息存储到table范例变量中 select * into v_emp(1) from emp where empno=7369; -- 把编号为7499的员工的信息存储到table范例变量中 select * into v_emp(2) from emp where empno=7499; --数据table范例变量中的数据 dbms_output.put_line(‘员工姓名:‘||v_emp(1).ename||‘,根基人为:‘||v_emp(1).sal); dbms_output.put_line(‘员工姓名:‘||v_emp(2).ename||‘,根基人为:‘||v_emp(2).sal); end; (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |