【原】備忘:Oracle 中建立預存程序及調用測試一例

來源:互聯網
上載者:User

 

The procedure :

CREATE OR REPLACE PROCEDURE createSequence
      (
      the_seq OUT NUMBER
      )
      IS
      vs_prevyear  CHAR(4);
      vs_curyear  CHAR(4);
      vs_curseq NUMBER;

      BEGIN
      -- get the year of the latest created changelog record
      select max(to_char(datecreated,'yyyy')) into vs_prevyear from rtchangelog;
      -- get the current year of the database
      SELECT TO_CHAR(SYSDATE,'YYYY') INTO vs_curyear FROM DUAL;
      -- get  the sequence count from the db
      SELECT COUNT(*) INTO vs_curseq  from seq where sequence_name='SQ_CHANGELOG';
     
      IF(vs_curseq =0) THEN
      execute immediate  'create sequence sq_changelog increment by 1 start with 1';
      ELSE
      IF(vs_prevyear<>vs_curyear) THEN
      execute immediate 'drop sequence sq_changelog';
      execute immediate 'create sequence sq_changelog increment by 1 start with 1';
      END IF;
      END IF;
        execute immediate  'select sq_changelog.nextval from dual' into the_seq;
        commit;
      END;

Test sql for toad:

declare
v_num number;
begin
createSequence (v_num) ;
DBMS_OUTPUT.PUT_LINE(v_num);
END;
/

作者:Tony zhao 歡迎訪問:找與淘網

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.