oracle储存过程,job,视图,触发器(记性不好,写个例子自己记)

存储过程

1 create or replace procedure TestPro(Descerr out  varchar2 ) is
2 begin
3     select * from test;
4 exception
5     when others then
6         Descerr :='接口表数据生成失败!'|| sqlerrm;
7 end TestPro;

job任务

 

declare Descerr varchar2(2000);
begin
--储存过程
TestPro(Descerr=>descerr); commit; end

 

视图

create or replace view TestView as 
select id,name from test1;

 

触发器

create or replace trigger  TestTrigger
    alter insert or update on test1--两个表test1和test2
    for each row
declare
    --声明变量
    lenNum Number(12,2);
    status varchar2(50);
begin
    select count(1) into lenNum from test2 t where t.id=:new.id;
--判断状态
case :new.ORDERSTATE
    when '等待到款' then
      begin
        statusnum := 'WAIT_BUYER_PAY';
      end;
    when '等待发货' then
      begin
        statusnum := 'WAIT_SELLER_SEND_GOODS';
      end;
end case;
--判断数量
if(lenNum<1) then
    insert into test2
    (name,stat)--或者用values(:new.name,:new.stat)
    select name ,stat from test1 t where id=:new.id;
else
    --update语句
end if;
end TestTrigger;

 

转载于:https://www.cnblogs.com/valiant1882331/p/4861409.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值