oracle存储同db2存储区别,db2的存储过程与ORACLE区别

41528d3028836879cd698677c3999917.gifdb2的存储过程与ORACLE区别

db2的存储过程与ORACLE区别很大: (1) DB2中不支持”or replace”的语法;且参数名与IN/OUT的位置也需互换,声明变量时须使用declare关键字,为变量赋值时须使用set关键字。 (2) 而对于oracle中的%TYPE的功能,DB2中好像还没有很好的实现方式。 (3) 同样,oracle中清空表的命令truncate,DB2也不能原样引用,但它也提供了2种实现方式,一是将一空文件的内容导入表中import null.dat ;二是设置表的特性为不记录日志alter table tablename .但是第二种方式会在某些情况下导致原表无法使用,具体的还没弄清楚呢。 (4) 至于sql语句表现不同应该就是oracle与db2各自的语法了。比如说oracle的rownum,db2可以使用fetch first n only,或row_number() over()等。 DB2有更好的扩展性和性能。Oracle触发器无法支持并行 oracle 触发器例子: CREATE OR REPLACE TRIGGER CRM.T_SUB_USERINFO_AUR_NAME AFTER UPDATE OF STAFF_NAME ON CRM.T_SUB_USERINFO REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW declare begin if :NEW.STAFF_NAME!=:OLD.STAFF_NAME then begin 客户投诉 update T_COMPLAINT_MANAGE set SERVE_NAME=:NEW.STAFF_NAME where SERVE_SEED=:OLD.SEED; oracle 存储过程例子: create or replace PROCEDURE p_insert_t (v_x in NUMBER) IS temp_id number; BEGIN FOR i IN 1v_x LOOP select SEQ_B_USER_ID.nextval into temp_id from dual; insert into buser (id, username, nickname, status, createdtime) values(temp_id, to_char(temp_id), to_char(temp_id), 0, sysdate); END LOOP; END; --cute

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值