次のような手順を作成しました
CREATE OR REPLACE PROCEDURE drop_if_exists (table_name IN varchar2)
IS
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE table_name';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
drop_if_exists ( 'my_table' ) として実行すると、すべてが正常に実行されたと表示されますが、 my_table というテーブルは、プロシージャの呼び出し後も存在します。大文字に変更しても違いはありません。変数は単に代入されていないと思います...修正方法についてのアイデアはありますか?