osql ユーティリティosql Utility

適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

osql ユーティリティを使用すると、 Transact-SQLTransact-SQL ステートメント、システム プロシージャ、およびスクリプト ファイルを入力できます。The osql utility allows you to enter Transact-SQLTransact-SQL statements, system procedures, and script files. また、このユーティリティは ODBC を使用してサーバーと通信します。This utility uses ODBC to communicate with the server.

重要

この機能は、 SQL ServerSQL Serverの将来のバージョンで削除される予定です。This feature will be removed in a future version of SQL ServerSQL Server. 新しい開発作業では、この機能を使用しないでください。また、現在この機能を使用しているアプリケーションの変更を計画してください。Avoid using this feature in new development work, and plan to modify applications that currently use the feature. 代わりに sqlcmd を使用します。Use sqlcmd instead. 詳細については、「 sqlcmd Utility」を参照してください。For more information, see sqlcmd Utility.

構文Syntax

  
osql  
[-?] |  
[-L] |  
[  
  {  
     {-Ulogin_id [-Ppassword]} | -E }  
     [-Sserver_name[\instance_name]] [-Hwksta_name] [-ddb_name]  
     [-ltime_out] [-ttime_out] [-hheaders]  
     [-scol_separator] [-wcolumn_width] [-apacket_size]  
     [-e] [-I] [-D data_source_name]  
     [-ccmd_end] [-q "query"] [-Q"query"]  
     [-n] [-merror_level] [-r {0 | 1}]  
     [-iinput_file] [-ooutput_file] [-p]  
     [-b] [-u] [-R] [-O]  
]  

引数Arguments

-?-?
osql のスイッチに関する構文の概要を表示します。Displays the syntax summary of osql switches.

-L-L
ローカルに構成されたサーバーと、ネットワーク上でブロードキャストしているサーバー名の一覧を表示します。Lists the locally configured servers and the names of the servers broadcasting on the network.

注意

ネットワーク上のブロードキャストの特性によっては、 osql は、一部のサーバーからタイムリーな応答を受信できない場合があります。Due to the nature of broadcasting on networks, osql may not receive a timely response from all servers. そのため、返されるサーバーのリストは、このオプションの実行ごとに異なる可能性があります。Therefore the list of servers returned may vary for each invocation of this option.

ーU login_id-U login_id
ユーザーのログイン ID です。Is the user login ID. ログイン ID では大文字と小文字は区別されます。Login IDs are case-sensitive.

-P password-P password
ユーザーが指定するパスワードです。Is a user-specified password. -P オプションを使用しない場合は、 osql ではパスワードの入力が要求されます。If the -P option is not used, osql prompts for a password. -P オプションをコマンド プロンプトの最後にパスワードなしで使用すると、 osql ではデフォルトのパスワード (NULL) が使用されます。If the -P option is used at the end of the command prompt without any password, osql uses the default password (NULL).

重要

空白のパスワードは使用しないでください。Do not use a blank password. 強力なパスワードを使用してください。Use a strong password. 詳細については、「 Strong Passwords」を参照してください。For more information, see Strong Passwords.

パスワードでは大文字と小文字が区別されます。Passwords are case-sensitive.

OSQLPASSWORD 環境変数を使用して、現在のセッションの既定のパスワードを設定できます。The OSQLPASSWORD environment variable allows you to set a default password for the current session. したがって、バッチ ファイルにパスワードを書き込む必要がありません。Therefore, you do not have to hard code a password into batch files.

-P オプションを使用してパスワードを指定しないと、 osql では最初に OSQLPASSWORD 変数が確認されます。If you do not specify a password with the -P option, osql first checks for the OSQLPASSWORD variable. 値が設定されていないと、 osql では既定のパスワード (NULL) が使用されます。If no value is set, osql uses the default password, NULL. 次の例では、コマンド プロンプトで OSQLPASSWORD 変数を設定してから osql ユーティリティにアクセスします。The following example sets the OSQLPASSWORD variable at a command prompt and then accesses the osql utility:

C:\>SET OSQLPASSWORD=abracadabra  
C:\>osql   

重要

パスワードをマスクする場合は、 -P オプションを -U オプションと共に指定しないでください。To mask your password, do not specify the -P option along with the -U option. osql-U オプションおよび他のスイッチと共に指定した後 ( -Pは指定しない)、Enter キーを押すと、 osql によってパスワードが要求されます。Instead, after specifying osql along with the -U option and other switches (do not specify -P), press ENTER, and osql will prompt you for a password. この方法を使用すると、入力時にパスワードが確実にマスクされます。This method ensures that your password will be masked when it is entered.

-E-E
パスワードを要求せずに、セキュリティ接続を使用します。Uses a trusted connection instead of requesting a password.

-S server_name[ \ instance_name]-S server_name[ \instance_name]
接続先となる SQL ServerSQL Server のインスタンスを指定します。Specifies the instance of SQL ServerSQL Server to connect to. サーバー上の の既定のインスタンスに接続するには、 server_name SQL ServerSQL Server を指定します。Specify server_name to connect to the default instance of SQL ServerSQL Server on that server. サーバー上の SQL ServerSQL Server の名前付きインスタンスに接続するには、server_name \ instance_name を指定します。Specify server_name\instance_name to connect to a named instance of SQL ServerSQL Server on that server. サーバーを指定しない場合、 osql は、ローカル コンピューター上にある SQL ServerSQL Server の既定のインスタンスに接続します。If no server is specified, osql connects to the default instance of SQL ServerSQL Server on the local computer. ネットワーク上のリモート コンピューターから osql を実行するときは、このオプションが必要です。This option is required when executing osql from a remote computer on the network.

-H wksta_name-H wksta_name
ワークステーション名を指定します。Is a workstation name. ワークステーション名は sysprocesses.hostname に格納され、 sp_whoにより表示されます。The workstation name is stored in sysprocesses.hostname and is displayed by sp_who. このオプションが指定されていない場合は、現在のコンピューター名であると見なされます。If this option is not specified, the current computer name is assumed.

-d db_name-d db_name
osql の開始時に USE db_nameステートメントを発行します。Issues a USE db_name statement when osqlis started.

-l time_out-l time_out
osql がログイン タイムアウトになる時間を秒単位で指定します。osql でのログインに関する既定のタイムアウトは 8 秒です。Specifies the number of seconds before an osql login times out. The default time-out for login to osql is eight seconds.

-t time_out-t time_out
コマンドの実行待ち時間を秒単位で指定します。time_out 値を指定しないと、コマンドはタイムアウトしません。Specifies the number of seconds before a command times out. If a time_out value is not specified, commands do not time out.

-h headers-h headers
列ヘッダーの間に出力する行数を指定します。Specifies the number of rows to print between column headings. 既定では、各クエリの結果に対して、ヘッダーは 1 つだけ表示されます。The default is to print headings one time for each set of query results. ヘッダーを出力しない場合は、-1 を指定します。Use -1 to specify that no headers will be printed. -1 を使用する場合、パラメーターと設定値の間には空白を入れないでください ( -h -1 ではなく -h-1)。If -1 is used, there must be no space between the parameter and the setting (-h-1, not -h -1).

-s col_separator-s col_separator
列の区切り文字を指定します。既定値は空白文字です。Specifies the column-separator character, which is a blank space by default. オペレーティング システムで特別な意味を持つ文字 (| ; & < > など) を使用するには、その文字を二重引用符 (") で囲みます。To use characters that have special meaning to the operating system (for example, | ; & < >), enclose the character in double quotation marks (").

-w column_width-w column_width
出力用の画面幅を設定できます。Allows the user to set the screen width for output. 既定値は 80 文字です。The default is 80 characters. 出力行が画面幅の最大値を超えると、複数の行に分けて出力されます。When an output line has reached its maximum screen width, it is broken into multiple lines.

-a packet_size-a packet_size
サイズの異なるパケットが要求できます。Allows you to request a different-sized packet. packet_size の有効値は 512 ~ 65535 です。The valid values for packet_size are 512 through 65535. 既定値 osql はサーバーの既定値です。The default value osql is the server default. パケット サイズを大きくすると、各 GO コマンドの間に多くの SQL ステートメントが含まれているサイズの大きいスクリプトを実行する場合に、パフォーマンスが向上します。Increased packet size can enhance performance on larger script execution where the amount of SQL statements between GO commands is substantial. MicrosoftMicrosoft のテストでは、一括コピーが最も速くなる設定値は 8,192 という結果が出ています。testing indicates that 8192 is typically the fastest setting for bulk copy operations. 大きなパケット サイズを要求することもできますが、要求が認められない場合は、サーバーでの既定値が osql での既定値になります。A larger packet size can be requested, but osql defaults to the server default if the request cannot be granted.

-e-e
入力のエコーを返します。Echoes input.

-I-I
QUOTED_IDENTIFIER 接続オプションを有効にします。Sets the QUOTED_IDENTIFIER connection option on.

-D data_source_name-D data_source_name
SQL ServerSQL Server用の ODBC ドライバーを使用して定義された ODBC データ ソースに接続します。Connects to an ODBC data source that is defined using the ODBC driver for SQL ServerSQL Server. osql 接続では、データ ソースで指定されたオプションが使用されます。The osql connection uses the options specified in the data source.

注意

このオプションは、他のドライバー用に定義されたデータ ソースでは機能しません。This option does not work with data sources defined for other drivers.

-c cmd_end-c cmd_end
コマンド ターミネータを指定します。Specifies the command terminator. 既定では、GO だけが入力されている行があると、コマンドが終了したと見なされ、 SQL ServerSQL Server に送られます。By default, commands are terminated and sent to SQL ServerSQL Server by entering GO on a line by itself. コマンド ターミネータをリセットする場合、 Transact-SQLTransact-SQL の予約語やオペレーティング システムで特別な意味を持つ文字は、先頭に円記号が付いているかどうかに関係なく、使用しないでください。When you reset the command terminator, do not use Transact-SQLTransact-SQL reserved words or characters that have special meaning to the operating system, whether preceded by a backslash or not.

-q " query "-q " query "
osql の起動時にクエリを実行しますが、クエリが完了しても osql を終了しません。Executes a query when osql starts, but does not exit osql when the query completes. クエリ ステートメントには GO を含めないでください。(Note that the query statement should not include GO). バッチ ファイルからクエリを実行する場合は、% 変数 (環境変数 %variable%) も使用できます。If you issue a query from a batch file, use %variables, or environment %variables%. 例:For example:

SET table=sys.objects  
osql -E -q "select name, object_id from %table%"  

クエリは二重引用符で、クエリに埋め込まれたものは単一引用符で囲みます。Use double quotation marks around the query and single quotation marks around anything embedded in the query.

-Q" query "-Q" query "
クエリの実行後、直ちに osqlを終了します。Executes a query and immediately exits osql. クエリは二重引用符で、クエリに埋め込まれたものは単一引用符で囲みます。Use double quotation marks around the query and single quotation marks around anything embedded in the query.

-n-n
入力行から行番号とプロンプト記号 (>) を削除します。Removes numbering and the prompt symbol (>) from input lines.

-m error_level-m error_level
エラー メッセージの表示をカスタマイズします。Customizes the display of error messages. 指定した重大度レベル以上のエラーが発生すると、メッセージ番号、状況、エラー レベルが表示されます。The message number, state, and error level are displayed for errors of the specified severity level or higher. 指定した重大度レベルより低いレベルのエラーの場合は、何も表示されません。Nothing is displayed for errors of levels lower than the specified level. -1 を指定すると、単なる情報メッセージであっても、すべてのヘッダーがメッセージと共に返されます。Use -1 to specify that all headers are returned with messages, even informational messages. -1を使用する場合、パラメーターと設定値の間には空白を入れないでください ( -m -1ではなく、 -m-1を使用)。If using -1, there must be no space between the parameter and the setting (-m-1, not -m -1).

-r { 0| 1}-r { 0| 1}
メッセージ出力を画面にリダイレクトします (stderr)。Redirects message output to the screen (stderr). パラメーターを指定しない場合や、 0を指定した場合は、重大度レベル 11 以上のエラー メッセージだけがリダイレクトされます。If you do not specify a parameter, or if you specify 0, only error messages with a severity level 11 or higher are redirected. 1を指定した場合は、"print" を含むすべてのメッセージ出力がリダイレクトされます。If you specify 1, all message output (including "print") is redirected.

-i input_file-i input_file
SQL ステートメントまたはストアド プロシージャのバッチを含むファイルを指定します。Identifies the file that contains a batch of SQL statements or stored procedures. < -i の代わりに、未満を示す比較演算子 ( ) を使用することもできます。The less than (<) comparison operator can be used in place of -i.

-o output_file-o output_file
osqlからの出力を受信するファイルを指定します。Identifies the file that receives output from osql. > -o の代わりに、より大きい ( ) 比較演算子を使用することもできます。The greater than (>) comparison operator can be used in place of -o.

input_file が Unicode ではなく、 -u が指定されていない場合、 output_file は OEM 形式で格納されます。If input_file is not Unicode and -u is not specified, output_file is stored in OEM format. input_file が Unicode であるか、 -u が指定されている場合、 output_file は Unicode 形式で格納されます。If input_file is Unicode or -u is specified, output_file is stored in Unicode format.

-p-p
パフォーマンス統計を出力します。Prints performance statistics.

-b-b
エラーが発生したときに、 osql を終了し、DOS ERRORLEVEL 値を返します。Specifies that osql exits and returns a DOS ERRORLEVEL value when an error occurs. SQL ServerSQL Server のエラー メッセージの重大度が 11 以上の場合は、DOS ERRORLEVEL 変数に返される値は 1 です。それ以外の場合は、値 0 が返されます。The value returned to the DOS ERRORLEVEL variable is 1 when the SQL ServerSQL Server error message has a severity of 11 or greater; otherwise, the value returned is 0. MicrosoftMicrosoft MS-DOS バッチ ファイルにより、DOS ERRORLEVEL の値をテストすることができ、エラーを適切に処理できます。MS-DOS batch files can test the value of DOS ERRORLEVEL and handle the error appropriately.

-u-u
input_file の形式に関係なく、 output_fileを Unicode 形式で格納するように指定します。Specifies that output_file is stored in Unicode format, regardless of the format of the input_file.

-R-R
通貨、日付、および時刻データを文字データに変換するときに、 SQL ServerSQL Server ODBC ドライバーでクライアントの設定を使用することを指定します。Specifies that the SQL ServerSQL Server ODBC driver use client settings when converting currency, date, and time data to character data.

-O-O
isql の先行バージョンの動作と一致するように、 osqlの一部の機能を使用不能にします。Specifies that certain osql features be deactivated to match the behavior of earlier versions of isql. このオプションを指定すると、次の機能は使用できなくなります。These features are deactivated:

  • EOF バッチ処理EOF batch processing

  • コンソール幅の自動スケーリングAutomatic console width scaling

  • 広範なメッセージWide messages

また、このオプションは DOS ERRORLEVEL の既定値を -1 に設定します。It also sets the default DOS ERRORLEVEL value to -1.

注意

-n-O および -D オプションは、 osqlではサポートされなくなりました。The -n, -O and -D options are no longer supported by osql.

RemarksRemarks

osql ユーティリティは、ここに記載された、大文字と小文字では異なる機能を持つオプションを使用して、オペレーティング システムから直接起動されます。The osql utility is started directly from the operating system with the case-sensitive options listed here. 起動されると、 osqlは SQL ステートメントを受け取り、 SQL ServerSQL Server に対話的に送ります。After osqlstarts, it accepts SQL statements and sends them to SQL ServerSQL Server interactively. 結果はフォーマットされ、画面に表示されます (stdout)。The results are formatted and displayed on the screen (stdout). osqlを終了するには、QUIT または EXIT を使用します。Use QUIT or EXIT to exit from osql.

ユーザー名を指定せずに osqlを起動すると、 SQL ServerSQL Server では、 osqluser=( user )osqlserver=( server ) などの環境変数が確認され、それらの値が使用されます。If you do not specify a user name when you start osql, SQL ServerSQL Server checks for the environment variables and uses those, for example, osqluser=(user) or osqlserver=(server). 環境変数が設定されていない場合は、ワークステーションのユーザー名が使用されます。If no environment variables are set, the workstation user name is used. サーバーを指定していない場合は、ワークステーション名が使用されます。If you do not specify a server, the name of the workstation is used.

-U-P のどちらのオプションも使用しない場合は、 SQL ServerSQL Server では接続時に MicrosoftMicrosoft Windows 認証モードが使用されます。If neither the -U or -P options are used, SQL ServerSQL Server attempts to connect using MicrosoftMicrosoft Windows Authentication Mode. 認証は、 MicrosoftMicrosoft osql を実行しているユーザーのWindows アカウントに基づいて行われます。Authentication is based on the MicrosoftMicrosoft Windows account of the user running osql.

osql ユーティリティでは ODBC API が使用されます。The osql utility uses the ODBC API. またこのユーティリティでは、 SQL ServerSQL Server の ISO 接続オプションに対して SQL ServerSQL Server ODBC ドライバーの既定の設定が使用されます。The utility uses the SQL ServerSQL Server ODBC driver default settings for the SQL ServerSQL Server ISO connection options. 詳細については、「ANSI オプションの効果」を参照してください。For more information, see Effects of ANSI Options.

注意

osql ユーティリティでは CLR ユーザー定義データ型はサポートされていません。The osql utility does not support CLR user-defined data types. これらのデータ型を処理するには、 sqlcmd ユーティリティを使用する必要があります。To process these data types, you must use the sqlcmd utility. 詳細については、「 sqlcmd Utility」を参照してください。For more information, see sqlcmd Utility.

OSQL コマンドOSQL Commands

Transact-SQLTransact-SQL osql では、 ステートメントの他に次のコマンドも使用できます。In addition to Transact-SQLTransact-SQL statements within osql, these commands are also available.

コマンドCommand [説明]Description
GOGO 最後の GO の後に入力したすべてのステートメントを実行します。Executes all statements entered after the last GO.
RESETRESET 入力したステートメントをすべて消去します。Clears any statements you have entered.
QUIT または EXIT( )QUIT or EXIT( ) osqlを終了します。Exits from osql.
Ctrl + CCTRL+C クエリを終了しますが、 osqlは終了しません。Ends a query without exiting from osql.

注意

!! コマンドThe !! および ED コマンドは osqlではサポートされなくなりました。and ED commands are no longer supported by osql.

コマンド ターミネータ GO (既定値)、RESET、EXIT、QUIT、および Ctrl + C は、行頭の osql プロンプトの直後に使用した場合にだけ認識されます。The command terminators GO (by default), RESET EXIT, QUIT, and CTRL+C, are recognized only if they appear at the beginning of a line, immediately following the osql prompt.

GO は、バッチの終わりとキャッシュされた Transact-SQLTransact-SQL ステートメントの実行を知らせます。GO signals both the end of a batch and the execution of any cached Transact-SQLTransact-SQL statements. 各入力行の終わりで Enter キーを押すと、 osql はその行のステートメントをキャッシュします。When you press ENTER at the end of each input line, osql caches the statements on that line. GO を入力した後 Enter キーを押すと、現在キャッシュされているすべてのステートメントが一括して SQL ServerSQL Serverに送られます。When you press ENTER after typing GO, all of the currently cached statements are sent as a batch to SQL ServerSQL Server.

現在の osql ユーティリティは、実行する各スクリプトの終わりに暗黙の GO があるものとして動作します。したがって、スクリプト内のすべてのステートメントが実行されます。The current osql utility works as if there is an implied GO at the end of any script executed, therefore all statements in the script execute.

行頭にコマンド ターミネータを入力すると、コマンドが終了します。End a command by typing a line beginning with a command terminator. コマンド ターミネータの後ろに整数を入力すると、コマンドの実行回数を指定できます。You can follow the command terminator with an integer to specify how many times the command should be run. たとえば、コマンドを 100 回実行するには、次のように入力します。For example, to execute this command 100 times, type:

SELECT x = 1  
GO 100  

結果は、実行終了時に 1 回出力されます。The results are printed once at the end of execution. osql で 1 行に入力できる文字数は、最大で 1,000 文字です。osql does not accept more than 1,000 characters per line. 大きなステートメントは、複数の行に分けてください。Large statements should be spread across multiple lines.

Windows のコマンド再呼び出し機能を使用すると、 osql ステートメントの再呼び出しと修正が可能になります。The command recall facilities of Windows can be used to recall and modify osql statements. RESET を入力すると、既存のクエリ バッファーをクリアできます。The existing query buffer can be cleared by typing RESET.

ストアド プロシージャを実行するとき、 osql は同じバッチの各結果セットの間に空白行を 1 行ずつ出力します。When running stored procedures, osql prints a blank line between each set of results in a batch. また、"0 件処理されました" というメッセージは、そのメッセージが実行したステートメントに該当する場合にだけ表示されます。In addition, the "0 rows affected" message does not appear when it does not apply to the statement executed.

osql の対話的使用Using osql Interactively

osql を対話的に使用するには、コマンド プロンプトで osql コマンド (および任意のオプション) を入力します。To use osql interactively, type the osql command (and any of the options) at a command prompt.

次のようなコマンドを入力すると、 osql によって実行されるクエリ (Stores.qry など) が含まれているファイルの内容を読み取ることができます。You can read in a file containing a query (such as Stores.qry) for execution by osql by typing a command similar to this:

osql -E -i stores.qry  

次のようなコマンドを入力すると、クエリ (Titles.qry など) が含まれているファイルを読み取り、結果を別のファイルに出力できます。You can read in a file containing a query (such as Titles.qry) and direct the results to another file by typing a command similar to this:

osql -E -i titles.qry -o titles.res  

重要

可能であれば、 -Eオプションを使用します (信頼関係接続)。When possible, use the -Eoption (trusted connection).

対話的に osql を使用している場合、 :r_file_name_を使用して、オペレーティング システム ファイルをコマンド バッファーに読み取ることができます。When using osql interactively, you can read an operating-system file into the command buffer with :rfile_name. これにより、 file_name 内の SQL スクリプトが単一のバッチとして直接サーバーへ送信されます。This sends the SQL script in file_name directly to the server as a single batch.

注意

osqlを使用するとき、GO によって SQL スクリプト ファイルに構文エラーが発生する場合、 SQL ServerSQL Server は GO をバッチ区切り記号として処理しています。When using osql, SQL ServerSQL Server treats the batch separator GO, if it appears in a SQL script file, as a syntax error.

コメントの挿入Inserting Comments

SQL ServerSQL Server osql に送られる Transact-SQL ステートメントには、コメントを挿入することができます。You can include comments in a Transact-SQL statement submitted to SQL ServerSQL Server by osql. 2 種類のコメント スタイルがあります: --/*...*/ です。Two types of commenting styles are allowed: -- and /*...*/.

EXIT によって osql から返される結果Using EXIT to Return Results in osql

osqlからの戻り値に、SELECT ステートメントの結果を使用できます。You can use the result of a SELECT statement as the return value from osql. 数値の場合、結果行の最終行の最終列は、4 バイトの (長) 整数に変換されます。If it is numeric, the last column of the last result row is converted to a 4-byte integer (long). MS-DOS は、下位バイトを親プロセスやオペレーティング システムのエラー レベルに渡します。MS-DOS passes the low byte to the parent process or operating system error level. Windows では、4 バイトの整数全体を渡します。Windows passes the entire 4-byte integer. 構文は次のとおりです。The syntax is:

EXIT ( < query > )  

例:For example:

EXIT(SELECT @@ROWCOUNT)  

バッチ ファイルの一部として、EXIT パラメーターを使用することもできます。You can also include the EXIT parameter as part of a batch file. 例:For example:

osql -E -Q "EXIT(SELECT COUNT(*) FROM '%1')"  

osql ユーティリティでは、かっこ () 内のすべての情報が、入力されたとおりにサーバーに送信されます。The osql utility passes everything between the parentheses () to the server exactly as entered. システム ストアド プロシージャが値セットを選択し、値を返す場合、選択した値だけが返されます。If a stored system procedure selects a set and returns a value, only the selection is returned. かっこ内に何も指定せずに EXIT () ステートメントを指定すると、バッチ内のそのステートメントよりも前にあるものすべてを実行し、戻り値を返さずに終了します。The EXIT () statement with nothing between the parentheses executes everything preceding it in the batch and then exits with no return value.

EXIT には、次の 4 つの形式があります。There are four EXIT formats:

  • EXITEXIT

注意

バッチを実行せずに直ちに終了し、値を返しません。Does not execute the batch; quits immediately and returns no value.

  • EXIT ()EXIT ()

注意

バッチを実行してから終了し、値を返しません。Executes the batch, and then quits and returns no value.

  • EXIT ( query )EXIT (query)

注意

クエリを含むバッチを実行し、クエリの結果を返して終了します。Executes the batch, including the query, and then quits after returning the results of the query.

  • 状態 127 の RAISERROR ステートメントRAISERROR with a state of 127

注意

RAISERROR を osql スクリプトの中で使用し、状態 127 が発生すると、 osql は終了し、メッセージ ID がクライアントに返されます。If RAISERROR is used within an osql script and a state of 127 is raised, osql will quit and return the message ID back to the client. 例:For example:

RAISERROR(50001, 10, 127)  

このエラーが発生すると、 osql スクリプトが終了し、メッセージ ID 50001 がクライアントに返されます。This error will cause the osql script to end and the message ID 50001 will be returned to the client.

戻り値 -1 ~ -99 は SQL ServerSQL Serverによって予約済みです。 osql では次のような値を定義しています。The return values -1 to -99 are reserved by SQL ServerSQL Server; osql defines these values:

  • -100-100

    戻り値を選択する前に、エラーが発生した。Error encountered prior to selecting return value.

  • -101-101

    戻り値を選択するときに、行が見つからなかった。No rows found when selecting return value.

  • -102-102

    戻り値を選択するときに、変換エラーが発生した。Conversion error occurred when selecting return value.

money (金額) と smallmoney (短精度金額) のデータ型の表示Displaying money and smallmoney Data Types

money データ型と smallmoney データ型については、 では内部的に小数点以下 4 桁の数値で格納されますが、 osql SQL ServerSQL Server では小数点以下 2 桁の数値が表示されます。osql displays the money and smallmoney data types with two decimal places although SQL ServerSQL Server stores the value internally with four decimal places. 次の例の結果を参照してください。Consider the example:

SELECT CAST(CAST(10.3496 AS money) AS decimal(6, 4))  
GO  

このステートメントの実行結果は 10.3496で、小数点以下のすべての桁をそのままにして値を格納することを示しています。This statement produces a result of 10.3496, which indicates that the value is stored with all decimal places intact.

参照See Also

コメント (MDX) Comment (MDX)
-- (コメント) (MDX) -- (Comment) (MDX)
CAST および CONVERT (Transact-SQL) CAST and CONVERT (Transact-SQL)
RAISERROR (Transact-SQL)RAISERROR (Transact-SQL)