Oracle SQL 总结

Oracle SQL 总结

序列篇

--创建-序列

CREATE SEQUENCE SEQ_ID_APPS INCREMENT BY 1 START WITH 1; --SEQ_ID_APPS  序列名称

--删除-序列

DROP SEQUENCE SEQ_ID_APPS; --SEQ_ID_APPS  序列名称

--查询-序列当前值

select SEQ_ID_APPS.currval from dual;  --SEQ_ID_APPS  序列名称  currval序列当前值

--查询并获取-序列下个值

select SEQ_ID_APPS.nextval from dual;  --SEQ_ID_APPS nextval先增加序列的值,然后返回序列值

--查找所有SEQUENCE

select * from user_objects ubs where ubs.OBJECT_TYPE='SEQUENCE';  

--查找所有TABLE

select * from user_objects ubs where ubs.OBJECT_TYPE='TABLE';

--更新-序列

DECLARE  
   V_NUM NUMBER;  
BEGIN 
   V_NUM := 0;  
  SELECT COUNT(0) INTO V_NUM FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_ID_APPS';
    IF V_NUM > 0 THEN   
      EXECUTE IMMEDIATE 'DROP SEQUENCE  SEQ_ID_APPS';   
    END IF;
   
    V_NUM := 0;  
  SELECT COUNT(0) INTO V_NUM FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_ID_APPS';
   IF V_NUM = 0 THEN
      EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_ID_APPS INCREMENT BY 1 START WITH 1';
  END IF;
END;

触发器

--更新触发器

CREATE OR REPLACE
TRIGGER TRG_APPS BEFORE INSERT ON TBL_OPERATION_APPS FOR EACH ROW 
BEGIN
        SELECT SEQ_ID_APPS.NEXTVAL INTO :NEW.ID FROM DUAL;
END;

--删除-触发器

DROP TRIGGER TRG_APPS;




Oracle 正则表达式:

  select * from dual  where regexp_like ('1xxxx1234cdfd$',  '^[0-9A-Za-z]+$')












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值