oracle简单基础

SELECT * FROM tra_access_manage AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '2' DAY)

 

查询前2天表的数据

 

 

2.

创建一个存储过程,让id自增长

 

CREATE OR REPLACE Procedure pro_getid(
    TableName IN varchar2,      -- 类型:输入表名
    id OUT varchar2
 ) IS
--
-- Purpose: 根据类型返回不同类型的ID,包括提交事务
--          触发器如果调用本过程,小心处理事务。
-- MODIFICATION HISTORY

-- ---------   ------  -------------------------------------------
   -- Declare program variables as shown above
   sTableName   VARCHAR2(30);
   sSequence    VARCHAR2(10);
   sTempSequence        VARCHAR2(20);   -- 临时输出流水号
BEGIN
    sTableName := UPPER(TableName);
    -- 取序列
    CASE WHEN sTableName = 'CUSTOMERBASEINFO' THEN
       -- 年(1位)+ 月(1位英文字母)+ 日(1位英文字母) + 序列(6位)
       sTempSequence := fun_conver_date(SYSDATE);
       SELECT seq_cust.NEXTVAL INTO sSequence FROM dual;
       sSequence := Substr('00000'||sSequence, -6, 6);
       id := sTempSequence||sSequence;
    WHEN sTableName = 'DVS' THEN
        pro_get_voicefile('A',id);
    WHEN sTableName = 'ORDERS' THEN
         SELECT seq_order.nextval INTO sSequence FROM dual;
            sSequence := Substr('00000'||sSequence, -6, 6);
           id := to_char(sysdate,'YYYYMMDDHH24MISS')||sSequence;
    WHEN sTableName = 'ORDER' THEN
         SELECT seq_gway.nextval INTO sSequence FROM dual;
         sSequence := Substr('00000'||sSequence, -6, 6);
            id := to_char(sysdate,'YYYYMMDDHH24MISS')||sSequence;
    WHEN  sTableName = 'ORDERSCHEDULE' THEN
         SELECT seq_schedule.nextval INTO sSequence FROM dual;
         sSequence := Substr('00000'||sSequence, -6, 6);
           id := to_char(sysdate,'YYYYMMDDHH24MISS')||sSequence;
   WHEN  sTableName = 'SMSOUTBOX' OR sTableName = 'SHORTMESSAGEOUTBOX' THEN
         SELECT seq_smsoutbox.nextval INTO sSequence FROM dual;
          sSequence := Substr('00000'||sSequence, -6, 6);
           id := to_char(sysdate,'YYYYMMDDHH24MISS')||sSequence;
   WHEN  sTableName = 'SMSENDBOX' THEN
         SELECT seq_smsendbox.nextval INTO sSequence FROM dual;
         sSequence := Substr('00000'||sSequence, -6, 6);
         id := to_char(sysdate,'YYYYMMDDHH24MISS')||sSequence;
    WHEN  sTableName = 'FLOWERORDERSUMA' THEN
         SELECT seq_flower.nextval INTO sSequence FROM dual;
         id := 'T'||to_char(sysdate,'YYMMDD')||'-'||sSequence;
    WHEN  sTableName = 'FLOWERCOMPLAINT' THEN
         SELECT SEQ_FLOWER_COMPL.NEXTVAL INTO sSequence FROM dual;
         id := ''||sSequence;
    WHEN  sTableName = 'RECORD_ID' THEN
         SELECT seq_record.nextval INTO sSequence FROM dual;
         sSequence := Substr('00000'||sSequence, -6, 6);
         id := to_char(sysdate,'YYYYMMDDHH24MISS')||sSequence;
    WHEN sTableName = 'SENDSMS12580SERVICEIMPL' THEN--统一订单二维码发送
         SELECT seq_log.NEXTVAL INTO sSequence FROM dual;
         sSequence := Substr('00000'||sSequence, -6, 6);
         id := to_char(sysdate,'YYMMDD')||sSequence;
    ELSE
         SELECT seq_log.NEXTVAL INTO sSequence FROM dual;
         sSequence := Substr('00000'||sSequence, -6, 6);
         id := to_char(sysdate,'YYYYMMDDHH24MISS')||sSequence;
   END CASE;
 EXCEPTION
    WHEN others THEN
       SELECT seq_log.NEXTVAL INTO sSequence FROM dual;
       sSequence := Substr('00000'||sSequence, -6, 6);
       id := to_char(sysdate,'YYYYMMDDHH24MISS')||sSequence;
END; -- Procedure PRO_GETID

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值