実行オプションを設定します。
Synopsis
SET OPTION option_keyword = value
概要
SET OPTION 文では、コンパイル・モード、SQL 構成設定、および日付、時刻、数値規則を管理するロケール設定などの、実行オプションを設定します。
他の SET OPTION 引数 (ここには記載されていません) は、Caché で SQL 互換性に対し解析されますが、実行はしません。
Caché でサポートされているオプションは以下の通りです。
BLOB_SUPPORT :このブーリアン・オプションでは、ストリームがロジックをサポートするのをシステム全体で可能または不可能にします。動作を不可能にした際 (BLOB_SUPPORT = 0)、ストリーミング・データはサポートされません。 すべての LONGVARCHARs と LONGVARBINARYs は VARCHARs と VARBINARYs 同様に扱われます。既定値は 1 です。
COMPILEMODE :コンパイル・モードを設定して、現在のネームスペースに DEFERRED、IMMEDIATE、または INSTALL を実行します。既定値は IMMEDIATE です。DEFERRED から IMMEDIATE コンパイル・モードへ変更すると、Deferred Compile Queue のいずれのクラスもすぐにコンパイルされます。すべてのクラスのコンパイルが成功すると、SQLCODE は 0 を返します。 エラーがある場合は、-400 を返します。 クラス・コンパイルのエラーは ^mtemp2 ("Deferred Compile Mode","Error") にログ・インしています。SQLCODE=–400 の場合は、このグローバル構造をビューして、エラーの詳細メッセージを表示します。INSTALL コンパイル・モードは DEFERRED コンパイル・モードと似ていますが、テーブルにデータがないDDL インストールにのみ使用してください。
LOCK_TIMEOUT :この数値オプションで、SQL 実行中に構築される現在のプロセスのロックにタイムアウト (秒数) の設定ができます。このロック・タイムアウトは、グローバル参照で SQL コードの挿入、更新、削除、および選択にロックをかける必要がある際に使用します。タイムアウトの設定はプロセスごとに行います。ODBC 接続を切断し、再接続する場合、システム全体の既定のタイムアウト設定を使用して再接続します。このシステム全体のタイムアウトは、Caché 構成マネージャ を使用して設定できます。[詳細] タブの [SQL] オプションから、[ロック・タイムアウト (秒)] を設定します。
Locale options :このオプションは、現在のプロセスの日付、時刻、数値規則のロケール設定に使用します。利用可能なキーワード・オプションは、AM、DATE_FORMAT、DATE_MAXIMUM、DATE_MINIMUM、DATE_SEPARATOR、DECIMAL_SEPARATOR、MIDNIGHT、MINUS_SIGN、MONTH_ABBR、MONTH_NAME、NOON、NUMERIC_GROUP_SEPARATOR、NUMERIC_GROUP_SIZE、PM、PLUS_SIGN、TIME_FORMAT、TIME_PRECISION、TIME_SEPARATOR、WEEKDAY_ABBR、WEEKDAY_NAME、および YEAR_OPTION です。これらのオプションはすべてリテラルに設定可能で、いずれも既定 (アメリカ英語記述規則) をとります。これらオプションのいずれかを無効な値に設定すると、「SQLCODE=–130 エラー (Illegal value for SET OPTION locale property)」が返されます。日付と時刻形式とオプションの詳細は、Caché ObjectScript $ZDATETIME 関数を参照してください。
日付/時刻オプション・キーワード 説明
AM 文字列。既定値は “AM” です。
DATE_FORMAT 整数。既定値は 1 です。使用できる値は、0 から 12 です。これらの日付形式の詳細は、"Caché ObjectScript" の "$ZDATE" 関数を参照してください。
DATE_MAXIMUM 整数。既定値は 2980013 (12/31/9999) です。前の日付は設定できますが、後の日付はできません。
DATE_MINIMUM 正整数。既定値は 0 (12/31/1840) です。後の日付は設定できますが、前の日付はできません。
DATE_SEPARATOR 文字。既定値は "/" です。
DECIMAL_SEPARATOR 文字。既定値は "/" です。
MIDNIGHT 文字列。既定値は 'MIDNIGHT' です。
MINUS_SIGN 文字。既定値は "-" です。
MONTH_ABBR 文字列。既定値は "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec" です。(この文字列は、既定の区切り文字である空白文字で始まります。)
MONTH_NAME 文字列。既定値は "January February March April May June ...November December" です。(この文字列は、既定の区切り文字である空白文字で始まります。)
NOON 文字列。既定値は "NOON" です。
NUMERIC_GROUP_SEPARATOR 文字。既定値は "," です。
NUMERIC_GROUP_SIZE 整数。既定値は 3 です。
PM 文字列。既定値は "PM" です。
PLUS_SIGN 文字。既定値は "+" です。
TIME_FORMAT 整数。既定値は 1 です。使用できる値は、1 から 4 です。これらの時刻形式の詳細は、"Caché ObjectScript" の "$ZTIME" 関数を参照してください。
TIME_PRECISION 整数。既定値は 0 です。
TIME_SEPARATOR 文字。既定値は ":" です。
WEEKDAY_ABBR 文字列。既定値は "Sun Mon Tue Wed Thu Fri Sat" です。(この文字列は、既定の区切り文字である空白文字で始まります。)
WEEKDAY_NAME 文字列。既定値は "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" です。(この文字列は、既定の区切り文字である空白文字で始まります。)
YEAR_OPTION 整数。既定値は 0 です。使用できる値は、0 から 6 です。2 桁および 4 桁の年のこれらの表示方法の詳細は、"Caché ObjectScript" の " $ZDATE" 関数を参照してください。
PKEY_IS_IDKEY :このブーリアン・オプションでは、主キーもシステム全体で ID キーであるか否かを指定します。利用可能な値は TRUE と FALSE です。TRUE の場合、主キーは ID キーとして生成されます。(つまり、テーブルの主キーはクラス定義の IDKey インデックスとなります。)これによりパフォーマンスは向上しますが、生成された主キーの変更はできないという制限も付きます。設定後は、主キーに割り当てられた値の変更や、別のキーを主キーに割り当てることはできません。このオプションを使用すると、主キーを照合する既定値も変更され、主キー文字列値は EXACT 照合を既定値に設定します。FALSE の場合、主キーと ID キーは別々に定義され、主キー値は変更可能ですが、主キー文字列値は SQLUPPER 照合を既定に設定します。この設定は、システム全体ですべてのプロセスに対して有効です。このオプションに対するシステム全体の既定は、Caché 構成マネージャを使用して設定できます。[詳細] タブの [SQL] オプションから、[DDL 経由で作成された主キーが ID キー] を設定します。この PKEY_IS_IDKEY 設定は、他の SET OPTION PKEY_IS_IDKEY 経由でリセットするか、Caché 構成を再起動して、Caché 構成マネージャ の設定パラメータがリセットされるまで有効です。
SUPPORT_DELIMITED_IDENTIFIERS :このブーリアン・オプションで、区切り識別子がシステム全体を通してサポートされるか否かを指定します。利用可能な値は TRUE と FALSE です。TRUE の場合、二重引用符で区切られた文字列は、SQL 文の識別子と考えられます。FALSE の場合、SQL 文の文字列リテラルと考えられます。この設定は、システム全体ですべてのプロセスに対して有効です。このオプションは、構成マネージャの [区切り識別子をサポート] でも設定できます。このオプションに対するシステム全体の既定は、Caché 構成マネージャを使用して設定できます。[詳細] タブの [SQL] オプションから、[区切り識別子をサポート] を設定します。この SUPPORT_DELIMITED_IDENTIFIERS 設定は、他の SET OPTION SUPPORT_DELIMITED_IDENTIFIERS 経由でリセットするか、Caché 構成を再起動して、Caché 構成マネージャ の設定パラメータがリセットされるまで有効です。
関連項目