源代码学习PL/SQL

create or replace function f1(id IN OUT number)
return varchar2
is
s varchar2(50);
begin
if id=1 then
dbms_output.put_line('1');
s:='this is 1';
elsif id=2 then
dbms_output.put_line('2');
s:='this is 2';
else
dbms_output.put_line('not 1 or 2');
s:='not 1 or 2';
end if;
return s;
end;
/

declare
n number;
s varchar2(20);
BEGIN
n:=1;
s:=f1(n);
dbms_output.put_line(s);
END;
/

create or replace package mypackage is
function f2(id IN number)
return varchar2;

procedure p1(id IN number);


type mytype is record(
id number,
name varchar2(10)
);

dd date;
--constant a number:=10;

myexception Exception;
end;
/

create or replace package body mypackage2 is
function f4(id IN number)
return varchar2;


function f4(id IN number)
return varchar2 is
begin
if id=1 then
return '1';
elsif id=2 then
return '2';
end if;
end;
end;
/

create or replace package mypackage2 is
end;
/




create or replace trigger my_trigger
before update of id on trig_table
for each row
begin
update trig_table set name='updated';
commit;
end;
/

create table zhoumo(id number, vname varchar2(20));
commit;

create or replace trigger zhoumo_trigger before insert or update or delete
on zhoumo
begin
RAISE_APPLICATION_ERROR(-20001, '今天是周末');
end;
/




create or replace trigger insert_trigger before insert on insert_test for each row
begin
--dbms_output.put_line(:new.id||'--->'||:new.name);
dbms_output.put_line('gggg');
end;
/

begin
insert into insert_test values(4,'fe');
insert into insert_test values(4,'fe');
insert into insert_test values(4,'fe');
end;


insert into update_test values(4,'fe');
insert into update_test values(4,'fe');
insert into update_test values(4,'fe');

create or replace trigger update_trigger after update on update_test for each row
begin
dbms_output.put_line('the old:'||:old.id||' '||:old.name);
dbms_output.put_line('the new:'||:new.id||' '||:new.name);
end;
/

create or replace trigger delete_trigger after delete on delete_test for each row
begin
--dbms_output.put_line('the old:'||:old.id||' '||:old.name);
--dbms_output.put_line('the new:'||:new.id||' '||:new.name);

raise_application_error(-20001,'error');
end;
/

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值