PL\SQL 学习笔记(三) PL中的sql语句

1  select 

     pl\sql 中的select 语句有且仅有一条返回语句.

     例 :

   

declare
 v_ename emp.ename%type;
 v_sal emp.sal%type;
begin
  select ename,sal into v_ename,v_sal from emp where empno=7369;
  dbms_output.put_line(v_ename||' ' ||v_sal);
end;
/

 此处查询empno=7369 时的 ename和 sal, 并将他们赋给 v_ename和 v_sal .   

-- 如果 empno= 7369 对应处没有ename 和 sal  或者对应多个ename 和 sal , 则此处会报错


   select 与rowtype连用起到简化效果

  

declare
   v_emp emp%rowtype;
begin
   select * into v_emp from emp where empno=7369;
   dbms_output.put_line(v_emp.ename);
end;
/
2  insert  ,update ,delete  

    可以像oracle sql 中那样的方法直接使用 

    例:

   

declare
  v_deptno dept.deptno%type :=50;
  v_dname dept.dname%type :='aaaa';
 v_loc dept.loc%type :='bj';
begin
    insert into dept2 values (v_deptno,v_dname,v_loc);
commit;
end;
/
    一种特殊的需求:

   当执行某项操作后, 想要知道此操作使多少条记录收到了影响

declare
 v_deptno emp2.deptno%type :=50;
 v_count number;
begin
 update emp2 set sal =sal/2 where deptno=v_deptno;
 --select deptno into v_deptno from emp2 where empno = 7369;
 -- select count(*) into v_count from emp2;
dbms_output.put_line(sql%rowcount || '条记录被影响');
commit;
end;
/
上面sql 是一个关键字, 代表着刚刚执行完的sql语句 , rowcount是他的一个属性, 代表有多少条记录受到影响.
 







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值