Oracle PL/SQL块

*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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值