create sequence/table in a procedure

Discussion in 'Databases' started by Jamie18, Sep 1, 2009.

  1. #1
    i'm trying to create a temporary sequence/table within a packaged procedure

    i'm able to do something like this to drop a sequence/table
    package blahblahblah is
          PROCEDURE post_clean_up IS
             s_sql VARCHAR2(100);
          BEGIN
             BEGIN
                [COLOR="Red"]s_sql := 'DROP SEQUENCE tmp_actr_seq_no';
                EXECUTE IMMEDIATE s_sql;[/COLOR]
                COMMIT;
             EXCEPTION
                WHEN others THEN
                   null;
             END;
             ...
             ...
          END post_clean_up;
    end blahblahblah;
    Code (markup):
    but the same technique hasn't been working for creating objects
    [COLOR="red"]s_sql := 'CREATE SEQUENCE tmp_actr_seq_no MINVALUE 1 MAXVALUE 9999999999 START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE';
    EXECUTE IMMEDIATE s_sql;[/COLOR]
    Code (markup):
    (although i am able to run this as an anonymous procedure when i don't include it in the package)
    DECLARE
       s_sql varchar2(200);
    BEGIN
       [COLOR="red"]s_sql := 'CREATE SEQUENCE tmp_actr_seq_no MINVALUE 1 MAXVALUE 9999999999 START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE';
       EXECUTE IMMEDIATE s_sql;[/COLOR]
    END;
       
    Code (markup):
    anyone have any ideas?
     
    Jamie18, Sep 1, 2009 IP
  2. Jamie18

    Jamie18 Peon

    Messages:
    201
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    0
    #2
    can i create a second file like

    tasn.sql
    CREATE
    SEQUENCE tmp_actr_seq_no
             MINVALUE 1
             MAXVALUE 9999999999
             START WITH 1
             INCREMENT BY 1
             NOCACHE
             NOCYCLE;
    COMMIT;
    
    Code (markup):
    and add a call to tasn.sql to run it from my procedure?
     
    Jamie18, Sep 1, 2009 IP