SET OFFSETS (Transact-SQL)
適用対象: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Transact-SQL ステートメント内の指定されたキーワードのオフセット (ステートメントの先頭からの相対的な位置) を、DB-Library アプリケーションに返します。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。
構文
SET OFFSETS keyword_list { ON | OFF }
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
引数
keyword_list
SELECT、FROM、ORDER、TABLE、PROCEDURE、STATEMENT、PARAM、EXECUTE などの Transact-SQL 構成要素のコンマ区切りのリストです。
解説
SET OFFSETS は DB-Library アプリケーションだけで使用されます。
SET OFFSETS は、実行時ではなく、解析時に設定されます。 解析時に設定されるということは、SET ステートメントがバッチまたはストアド プロシージャ内に指定されている場合、コードが実際にその場所まで実行されるかどうかに関係なく、設定が有効になることを意味します。つまり他のどのステートメントが実行されるよりも前に、SET ステートメントが効力を発するということになります。 たとえば、絶対に実行されることのない IF...ELSE ステートメント ブロックに SET ステートメントが指定されていたとしても、IF...ELSE ステートメント ブロックは解析されるので、SET ステートメントは有効になります。
SET OFFSETS がストアド プロシージャで設定された場合、SET OFFSETS の値は、制御がストアド プロシージャから返された後、元に戻されます。 したがって、動的 SQL に指定されている SET OFFSETS ステートメントは、動的 SQL ステートメントの後にあるステートメントにまったく影響しません。
OFFSETS オプションが ON でエラーがない場合は、SET PARSEONLY はオフセットを返します。
アクセス許可
ロール public のメンバーシップが必要です。