PRINT (Transact-SQL)
ユーザー定義メッセージをクライアントに返します。
構文
PRINT msg_str | @local_variable | string_expr
引数
msg_str
文字列または Unicode 文字列の定数です。詳細については、「定数 (Transact-SQL)」を参照してください。
@local_variable
任意の有効な文字型の変数を指定します。@local_variable は、char 型または varchar 型であるか、あるいはそれらのデータ型に暗黙的に変換できる必要があります。
string_expr
文字列を返す式を指定します。連結したリテラル値、関数、および変数を含むことができます。メッセージ文字列は 8,000 バイトまで指定できます。8,000 バイト以上は切り捨てられます。詳細については、「式 (Transact-SQL)」を参照してください。
解説
PRINT ステートメントが返したメッセージをアプリケーションで処理する方法の詳細については、「アプリケーションでのエラーとメッセージの処理」を参照してください。
RAISERROR を使用してメッセージを返すこともできます。RAISERROR には、PRINT にはない次のような利点があります。
- RAISERROR は、エラー メッセージ文字列への引数の置き換えをサポートします。この置き換えでは、C 言語標準ライブラリの printf 関数をモデルにしたメカニズムを使用します。
- RAISERROR では、テキスト メッセージに加えて、一意のエラー番号、重大度、および状態コードを指定できます。
- RAISERROR は、sp_addmessage システム ストアド プロシージャを使用して作成したユーザー定義メッセージを返すために使用できます。
例
A. 条件付きで PRINT を実行する (IF EXISTS)
次の例では、PRINT ステートメントを使用して条件に応じてメッセージを返します。
IF @@OPTIONS & 512 <> 0
PRINT N'This user has SET NOCOUNT turned ON.';
ELSE
PRINT N'This user has SET NOCOUNT turned OFF.';
GO
B. 文字列を構築および表示する
次の例では、GETDATE 関数の結果を varchar 型に変換し、リテラル テキストと連結して PRINT で返します。
-- Build the message text by concatenating
-- strings and expressions using functionality
-- available in SQL Server 2000 and SQL Server 2005.
PRINT N'This message was printed on '
+ RTRIM(CAST(GETDATE() AS NVARCHAR(30)))
+ N'.';
GO
-- This example shows building the message text
-- in a variable and then passing it to PRINT.
-- This was required in SQL Server 7.0 or earlier.
DECLARE @PrintMessage NVARCHAR(50);
SET @PrintMessage = N'This message was printed on '
+ RTRIM(CAST(GETDATE() AS NVARCHAR(30)))
+ N'.';
PRINT @PrintMessage;
GO
参照
関連項目
データ型 (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
RAISERROR (Transact-SQL)