2

動的 SQL を使用していて、長い SQL クエリを実行する必要があります。最初にクエリで @var を nvarchar(4000) として宣言しましたが、クエリが 4000 文字を超えています。nvarchar(8000) に変更しようとしましたが、4000 文字を超えることのできない例外が発生しました。

最後に、var を varchar(8000) として宣言し、エラーは発生しませんが、sp_executeSQL を実行しようとすると、sp_executeSQL が ntext/nchar/nvarchar を期待するというエラーが発生します。

sp_executeSQL を使用してより長い Sql クエリを実行するにはどうすればよいですか? ありがとう!

Sql Server Express 2005 を使用しています。

4

1 に答える 1

4

declare @var nvarchar(max)2005年なので、最大10億文字まで使用できます。

ステートメントの使用PRINTは、非常に長い文字列の変数の内容を表示するためには機能しないため、次のことができます。

SELECT @var AS [processing-instruction(x)] FOR XML PATH('')

切り捨てられていないコンテンツを表示します。

于 2011-09-16T11:22:15.520 に答える