7.8.3 制御文(alter system文)
alter system 〔dicinf {unlimited|limited}〕 〔dictionary datatype mchar use〕 ;
(1) dicinf {unlimited|limited}
ディクショナリ表をアクセスする場合に,ユーザが持っている権限によって検索できる情報を限定するかどうか(ディクショナリ表の参照権限の設定)を指定します。ディクショナリ表の参照権限の設定については,マニュアル「HiRDB システム運用ガイド」を参照してください。
- unlimited
-
ディクショナリ表をアクセスする場合に,すべての情報を検索できます。
- limited
-
ディクショナリ表をアクセスする場合に,ユーザが持っている権限によって検索できる情報を限定します。
DBA権限を持っているユーザは,すべての情報を検索できます。DBA権限を持っていないユーザは,利用できる情報だけ検索できます。
- <規則>
-
-
ディクショナリ表を参照するビュー表を定義している場合,又はSQLオブジェクトのルーチンを定義している場合は,ディクショナリ表の参照権限は変更できません。
-
ディクショナリ表の参照権限を変更する場合,あらかじめディクショナリ表を参照するビュー表を削除しておく必要があります。
-
ディクショナリ表を参照するSQLオブジェクトのルーチンを定義している場合は,SQLオブジェクトを無効にする旨の警告メッセージを出力し,正常終了します。そのため,無効となったルーチンのSQLオブジェクトをALTER PROCEDURE,又はALTER ROUTINEで再作成する必要があります。無効となったルーチンのSQLオブジェクトはディクショナリ表を検索すれば分かります。ALTER PROCEDURE,又はALTER ROUTINEについてはマニュアル「HiRDB SQLリファレンス」を,ディクショナリ表の検索方法についてはマニュアル「HiRDB UAP開発ガイド」を参照してください。
-
limitedを指定した場合,ディクショナリ表を検索するUAPのアクセス表数が増大するので,同時アクセス可能実表数(システム共通定義のpd_max_access_tables)の値を大きくする必要があります。一つのディクショナリ表につき,同時アクセス可能実表数は5必要となります。
-
(2) dictionary datatype mchar use
ディクショナリ表のデータに,混在文字データを使用する場合に指定します。
このオペランドを指定すると,ディクショナリ表の一部の列のデータ型がMVARCHARになります。
- <適用基準>
-
表名又は列名にマルチバイト文字を使用している場合,MVARCHARに変更します。
- <規則>
-
-
ディクショナリ表を参照するビュー表を定義している場合は,このオペランドを指定できません。このオペランドを指定するためには,あらかじめディクショナリ表を参照するビュー表を削除する必要があります。
-
ディクショナリ表を参照するルーチンのSQLオブジェクトを定義している場合は,SQLオブジェクトを無効にする旨の警告メッセージを出力し,正常終了します。そのため,無効となったルーチンのSQLオブジェクトをALTER PROCEDURE,又はALTER ROUTINEで再作成する必要があります。また,無効となったルーチンのSQLオブジェクトはディクショナリ表を検索すれば分かります。ALTER PROCEDURE,又はALTER ROUTINEについてはマニュアル「HiRDB SQLリファレンス」を,ディクショナリ表の検索方法についてはマニュアル「HiRDB UAP開発ガイド」を参照してください。
-