あるユーザーのすべてのテーブルに対するいくつかの権利 (SELECT など) を他のユーザーに付与する方法を探しています。そんな感じ:
GRANT SELECT ON Username1.* to Username2
重要な条件は、既存のすべてのテーブルに権限を付与するだけでなく、デフォルトでUsername1によって作成されるすべてのテーブルに対応する権限を Username2 に付与する必要があることです。
私が行ったことは、Username1 によって作成されたすべてのテーブルを選択するための外部スクリプトを作成することです。
SELECT table_name FROM systable WHERE creator IN (SELECT user_id from sysuser WHERE username='Username1'))
それらのすべてに対して GRANT ステートメントを生成します。
しかし、新しいテーブルが作成されたらすぐにそのスクリプトを実行する必要があります。付与ロジックをデータベースから除外するのは、あまりエレガントではありません。データベース内にある種のトリガーがあればいいのですが、Sybase IQ はトリガーをサポートしていません。
問題をエレガントに解決する方法を知っている人はいますか?