sql >> データベース >  >> RDS >> Oracle

ストアドプロシージャ内でDROPTABLEなどのコマンドを使用する方法

    CREATE OR REPLACE PROCEDURE proc_name AS
    BEGIN
    EXECUTE IMMEDIATE 'DROP TABLE SQL2005TEST.ABSENCEFULLDATADIFF_YESTERDAY';
    .....
    EXECUTE IMMEDIATE 'CREATE TABLE SQL2005TEST.ABSENCELATESTEND_YESTERDAY
                           AS SELECT * FROM SQL2005TEST.ABSENCELATESTEND';
    ....
    ....
    EXCEPTION
      ....
      ....
    END;
    

    EXECUTE IMMEDIATE ステートメントは、動的SQL文または匿名PL / SQLブロックを、PL / SQLブロック、ストアド・プロシージャ、またはパッケージ内で実行します。これは、DROPなどのDDLステートメントを実行する必要がある場合に特に使用されます。 、CREATE TABLE PL / SQLからのDDLコマンドをDML文として実行することはできないため、唯一の方法は動的SQLです。詳細情報こちら およびこちら 。




    1. 複数の検索文字列を持つMySQLfind_in_set

    2. PostgreSQL-外部キーは相互に排他的なテーブルを参照します

    3. Laravel5.2の履歴テーブルの最新のエントリを取得するためのクエリ

    4. SQLServerの動的ピボットテーブル