您的位置:首页 > 数据库 > Oracle

Oracle PL/SQL块

2016-08-19 15:52 302 查看

PL/SQL
块是构成PL/SQL
程序的基本单元


将逻辑上相关的声明和语句组合在一起


PL/SQL
分为三个部分,声明部分、可执行部分和异常处理部分

语法:

/*[DECLARE

declarations]

BEGIN

executable statements

[EXCEPTION

handlers]

END;*/

declare

v_age number; ---声明变量或赋值

v_age1 number:=120;

v_age2 number:=&age; --从键盘输入

begin

v_age:=20; --执行部分(逻辑,输出...)

dbms_output.put_line(v_age ||'---->'|| v_age1||'---->'|| v_age2); --输出结果

end;

declare

age constant number:=80; --常量

age1 number default 200; --默认值

begin

-- age:=100; -->重新赋值(不可以的)常量

dbms_output.put_line(age||'--->'||age1);

end;

--查询SCOTT员工的编号,职位,薪资信息

select empno,job,sal from emp where ename='SCOTT'

declare

v_ename varchar2(20):='SCOTT';

v_empno number;

v_job varchar2(20);

v_sal number(8,2);

begin

--赋值? select into

select empno,job,sal into v_empno,v_job,v_sal from emp where ename=v_ename;

dbms_output.put_line(v_empno ||'---->'|| v_job||'---->'|| v_sal); --输出结果

end;

--(1)%TYPE - 引用变量和数据库列的数据类型

select * from emp;

declare

v_ename emp.ename%type:='SMITH'; --VARCHAR2(10)

v_empno emp.empno%type;

v_job emp.job%type;

v_sal emp.sal%type;

begin

--赋值? select into

select empno,job,sal into v_empno,v_job,v_sal from emp where ename=v_ename;

dbms_output.put_line(v_empno ||'---->'|| v_job||'---->'|| v_sal); --输出结果

end;

--(2)%ROWTYPE - 提供表示表中一行的记录类型

declare

v_ename emp.ename%type:='JONES'; --VARCHAR2(10)

v_emp emp%rowtype; --1行的记录类型

begin

--赋值? select into

select empno,job,sal into v_emp.empno,v_emp.job,v_emp.sal from emp where ename=v_ename;

dbms_output.put_line(v_emp.empno ||'---->'|| v_emp.job||'---->'||v_emp.sal); --输出结果

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: