新しい作成ユーザーにロールのアクセス許可を与えることができるプロシージャを作成したいと思います。ユーザーがデータベースに作成された後、ユーザーがデータベース上に作成された直後にトリガーを使用してストアドプロシージャを実行します。
CREATE OR REPLACE PROCEDURE P_CREATE_USER
BEGIN
EXECUTE IMMEDIATE 'GRANT RESOURCE TO'||ora_dict_obj_name;
EXECUTE IMMEDIATE 'GRANT CONNECT TO'||ora_dict_obj_name;
END;
/
はその後、私は、この手順を実行するトリガーを作成します。
私の考えは、私が最初にこのような手順を作成することでした。このように:
CREATE OR REPLACE TRIGGER T_CREATE_USER
AFTER CREATE ON DATABASE
WHEN (ora_dict_obj_type = 'USER')
BEGIN
P_CREATE_USER;
END;
/
それは実際に動作しませんでした、あなたは他の提案を持っているのですか?
私はOracleをDBMSとして使用しています。
これは[あなたの前の質問](http://stackoverflow.com/a/42837302/146325)あなたが受け入れて "それは働いた"と言った。今、あなたは「それは本当にうまくいかない」と言っています。だから、どうしたらうまくいかないのですか?追加の必要条件は何ですか? – APC
あなたはDBAですか? XEで遊んでいるだけですか? – tbone
@APCはい、あなたは正しいと言いました。私は「うまくいった」と言いましたが、追加の要件は、私が知る必要があることです。どのようにトリガーによって呼び出される手続きでそれを行うことができますか? –