• ベストアンサー

ストアドプロシジャで、TRUNCATEするには?

ストアドプロシジャで、TRUNCATEするには? 例、 CREATE OR REPLACE PROCEDURE TAI_00NEN AS BEGIN TRUNCATE TABLE CHOSEIWR; COMMIT; END; / これだと、コンパイルエラーがありますとなります。

質問者が選んだベストアンサー

  • ベストアンサー
  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.3

TRUNCATEはDDLですから、PL/SQLから実行するには動的SQLを使う必要があります。 8i以降なら EXECUTE IMMEDIATE 8以前なら DBMS_SQL をマニュアルで調べてください。 (もちろん権限も必要)

その他の回答 (2)

回答No.2

こんにちは。 PL/SQLから直接DDL文は実行できません・・・。 DBMS_SQLパッケージを使用すればできますよ。 (^^ゞ

  • tyurajima
  • ベストアンサー率28% (16/57)
回答No.1

回答ではありませんが・・・ そうですね。こちらで試しても出来ませんでした。 TRUNCATEで検索してみると、下記のURLが引っかかりました。 もしかしたら、関係しているのかもしれません・・・ 参考になれば・・・

参考URL:
http://sonic64.hp.infoseek.co.jp/2004-06-09.html