要件は次のとおりです。
Oracle Apex アプリケーションを使用して、ユーザー/スキーマを別の Oracle データベースにドロップする必要があります。つまり、Oracle Apex アプリケーションを使用してユーザーをリモートで削除します。
現在、このタスクには以下の手順を使用しています。しかし、多くのリモートデータベースがあるため、これを動的にする方法、つまりDBリンク名を動的に渡す方法があるかどうかを知りたいですDBMS_UTILITY.EXEC_DDL_STATEMENT
。そのため、ユーザーがユーザー名とデータベース名を渡し、データベース名に基づいてプロシージャが正しいデータベース/DB リンクに接続し、指定されたユーザーをドロップします。このタスクを達成する他の方法があれば教えてください。
CREATE OR REPLACE
PROCEDURE drop_user_proc(
p_username VARCHAR2,
p_databasename VARCHAR2)
IS
ddl_stmt VARCHAR2(100);
BEGIN
IF p_databasename = ‘REMOTEDB1’ THEN
ddl_stmt := 'DROP USER '||p_username||' CASCADE';
dbms_utility.exec_ddl_statement@remotedb1(ddl_stmt);
END IF;
END drop_user_proc;