ユーザはトリガを実行できないため、トリガ実行の権限を付与することはできません。SQL Anywhere は、データベースでのアクションに対応してトリガを起動します。トリガが実行される場合は、トリガに関連する権限があり、その動作を実行する権利を定義します。
トリガは、トリガが定義されているテーブルの所有者の権限を使用して実行します。トリガを起動する原因となったユーザの権限や、トリガを作成したユーザの権限ではありません。
トリガがテーブルを参照するときは、そのテーブルの所有者名を特に指定しないで、テーブル作成者のロールメンバーシップを使います。たとえば、user_1.Table_A にあるトリガが Table_B を参照し、Table_B の所有者の名前を指定しないとします。この場合、Table_B が user_1 によって作成されたか、user_1 が Table_B の所有者であるロールの (直接または間接的に) メンバーでなければなりません。どちらの条件も満たされない場合は、トリガを起動すると、データベースサーバがテーブルが見つからないことを示すメッセージを返します。
また、user_1 はトリガに指定された操作を実行するための権限を持っていなければなりません。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |