PL/SQL学习笔记一之语法结构!!!

--PL/SQL块结构:
declare --可选
  /* 定义部分-定义常量、变量、复杂数据类型、游标、异常。*/
begin --必须
  /* 执行部分-PL/SQL语句、SQL语句。*/
exception --可选
  /* 异常处理部分-处理运行错误。*/
end; --必须
/

set serveroutput on
declare --简单匿名块
  v_name varchar2(10);
begin
  select t.ename into v_name from emp t where t.empno=&no; --&no 临时变量,执行时会alert一个窗口要求输入no值。
  dbms_output.put_line('雇员名:'||v_name);
exception
  when no_data_found then
    dbms_output.put_line('雇员不存在!');
end;
/

--函数
create function count_sal(name varchar2)
return number is
  f_sal number(7,2);
begin
  select t.sal*12+nvl(t.comm,0) into f_sal from emp t where lower(t.ename)=lower(name);
  return f_sal;
end;
/
--调用:
--SQL> var income number
--SQL> call count_sal('scott') into :income;

--存储过程
create or replace procedure update_sal(name varchar2,newsal number)
is
begin
  update emp t set t.sal=newsal where lower(t.ename)=lower(name);
end;
/
--调用:
--call update_sal('SMITH',900);

--包
create or replace package pkg 
is 
  function count_sal(name varchar2) return number;
  procedure update_sal(name varchar2,newsal number);
end;
/

--触发器
create or replace trigger update_cascadeafter 
update of sal on emp for each rowbegin dbms_output.put_line('ok');
end;
/

--以上东东只是语法上没有错误,另外还存在许多bug。--这是本人看书实验时候所敲的,贴出来或许有用!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值