行レベル セキュリティ制約を削除する前に、制約を参照するすべてのオブジェクトから制約を削除する必要があります。
次の例のSQLリクエストを使用して、制約の割り当てのあるデータベース オブジェクトを確認することができます。
セキュリティ制約のあるテーブルとインデックスの検索
- DBC.Dependencyテーブルに問合わせを実行して、セキュリティ制約列があるテーブルを検索します。
object2name='constraint_name 'のdbc.dependencyからdatabase1name、object1nameをSELECTします。
- 手順1の問合わせにより返されるテーブルごとにSHOW TABLEコマンドを実行します。システムは、テーブルで定義されているインデックスを含めて、テーブルの標準CREATE TABLEを表示します。
列がセキュリティ制約かどうかの判別
任意の列に対してHELP COLUMN文を実行することにより、その列がセキュリティ制約列であるかどうかを確認できます。 HELP COLUMNを参照してください。
セキュリティ制約が含まれるビューの検索
SELECT databasename, tvmname from dbc.tvm, dbc.dbase where tablekind='V' and tvm.databaseid=dbase.databaseid and tvmid in (select tableid from dbc.tvfields where constraintid in (select constraintid from dbc.secconstraints where constraintname='constraint_name'));
割り当てられた制約のあるユーザーまたはプロファイルの検索
ユーザーの場合:
SELECT UserName from DBC.UsrAsgdSecConstraintsV where ConstraintName='constraint_name'
プロファイルの場合:
SELECT ProfileName from DBC.ProfileAsgdSecConstraintsV where ConstraintName='constraint_name'