plsqlでユーザーを作成して権限を付与の方法
PL/SQLでは、次の文でユーザーを作成し、権限を付与できます。
DECLARE
v_sql VARCHAR2(500);
BEGIN
-- 创建用户
v_sql := 'CREATE USER new_user IDENTIFIED BY password';
EXECUTE IMMEDIATE v_sql;
-- 授权权限
v_sql := 'GRANT CONNECT, RESOURCE TO new_user';
EXECUTE IMMEDIATE v_sql;
-- 授予角色
v_sql := 'GRANT role_name TO new_user';
EXECUTE IMMEDIATE v_sql;
-- 授予表级权限
v_sql := 'GRANT SELECT, INSERT, UPDATE, DELETE ON schema_name.table_name TO new_user';
EXECUTE IMMEDIATE v_sql;
COMMIT;
END;
/
上記のコードでは、new_userの部分を、作成するユーザー名に、passwordの部分を、ユーザーのパスワードに、role_nameの部分を、付与するロールの名前に、schema_name.table_nameの部分を、権限を付与するテーブル名に置き換える必要があります。
なお、ユーザの作成と権限付与を行う文は動的SQL (Dynamic SQL) で実行しています。動的SQLを使用する際には、SQLインジェクションなどのセキュリティ問題を避けるため、入力を厳密に検証してください。