PL/SQL笔记

:)  隐式游标 输入学号 和课程名字 将改学号的学生课程更改为课程名 如果不存在 抛出异常
set SERVEROUTPUT ON ;
DECLARE  
  var_i number(10):=0;
  var_m varchar(20):='ii';
    no_result exception;
  BEGIN
       var_i:=&x;
    var_m:=&x;
       update T_COUSE set COUSETYPE=var_m where COUSEID=var_i;
       if sql%notfound then
       raise no_result;
       end if;
    exception 
       when no_result then
       dbms_output.put_line('更新失败了');
       when others then
       dbms_output.put_line('发生其他错误');
       end;
       

格式化显示课程为数学的学生学号和姓名 利用显示游标

set SERVEROUTPUT ON ;
 DECLARE 
  var_id number;
  var_name varchar(20);
  var_type varchar(20);
  cursor Mycur(varType varchar) is select COUSEID,COUSENAME,COUSETYPE from T_COUSE where COUSETYPE=varType;
  BEGIN
       IF MyCur%isopen = false then
       open Mycur('数学');
       END IF;
       FETCH MyCur INTO var_id,var_name,var_type;
       WHILE MyCur%FOUND
       LOOP 
         dbms_output.put_line('学号:'||var_id||'姓名:'||var_name||'课程:'||var_type);
          Fetch MyCur INTO var_id,var_name,var_type;
         END LOOP;
         CLOSE MyCur;
         END;

定义一个传递参数的过程,判断是否输入参数

set SERVEROUTPUT ON ;
create or replace procedure Mypro
(var_char in varchar2 default null)as
BEGIN if(var_char is null) then 
dbms_output.put_line('你们有输入参数');
else 
dbms_output.put_line('你输入的参数是'||var_char);
end if;
END Mypro;
execute Mypro('asdf');
execute Mypro();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值