オプションは SET OPTION 文を使用して設定します。一般的な構文は、次のとおりです。
SET [ EXISTING ] [ TEMPORARY ] OPTION [ userid. | PUBLIC. ]option-name = [ option-value ]
特定のユーザーまたはグループにのみオプションを設定するには、ユーザー ID かグループ名を指定できます。すべてのユーザーは PUBLIC グループに属します。ユーザー ID またはグループを指定しない場合、SET OPTION 文を発行した、現在ログインしているユーザー ID にオプション変更が適用されます。
どのようなオプションでも、ユーザー定義であるかどうかにかかわらず、パブリック設定がなければユーザー固有の値を割り当てることはできません。データベースサーバーでは、ユーザー定義オプションへの TEMPORARY 値の設定はサポートされていません。
たとえば、次の文では、オプション変更を発行したユーザーが DBA の場合、ユーザー DBA にその変更が適用されます。
SET OPTION blocking_timeout = 3; |
次の文は、すべてのユーザーが属するユーザーグループである PUBLIC ユーザー ID に変更を適用します。この文を実行するには、DBA 権限が必要です。
SET OPTION PUBLIC.login_mode = 'Standard'; |
option-value を省略すると、指定したオプション設定がデータベースから削除されます。これが個人的なオプション設定の場合は、値は PUBLIC 設定に戻ります。TEMPORARY オプションを削除すると、オプション設定は永久設定に戻ります。
カーソルからローをフェッチしている間のオプション設定の変更はサポートされていません。このような変更を行うと、結果の信頼性が損なわれる可能性があるからです。たとえば、カーソルからフェッチしている間に date_format 設定を変えると、結果セットのロー同士の日付フォーマットが異なってしまいます。ローをフェッチしている間にオプション設定を変更しないでください。
トルコ語照合を使用しているデータベースや大文字と小文字が区別されるデータベースでは、オプション名の大文字と小文字が正しくないと、SYSOPTION のクエリや次のようなクエリでは、どのローとも一致しない可能性があります。
SELECT * FROM sa_conn_properties( ) WHERE propname = 'BLOCKING'; |
オプション名における大文字と小文字の正しい対応の詳細については、アルファベット順のオプションリストを参照してください。
データベースサーバーを開きます。
データベースを右クリックし、[オプション] をクリックします。
値を編集します。
[データベースオプション] ウィンドウからも、特定のユーザーとグループに対してデータベースオプションを設定できます (あるユーザーまたはグループに対してこのウィンドウを開いた場合、ウィンドウ名はそれぞれ [ユーザーのオプション]、または [グループのオプション] になります)。
データベース自体のオプションを設定する場合は、実際にデータベースの PUBLIC グループのオプションを設定します。これは、すべてのユーザーとグループが、PUBLIC からオプションの設定を継承するためです。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |