0

SQLスクリプトから以下のエラーが発生する理由を理解してくれる人はいますか? どんな助けでも大歓迎です。

DECLARE @Comment AS VARCHAR(2000) 
DECLARE @Len AS INT
SET @Comment = 'This is a test and only a test!'
SET @Len = LEN(@Comment)
DECLARE @ptr varbinary(16)
SELECT @ptr = TEXTPTR(Comments)
FROM [dbo].[StudentInfringement] AS SI
WHERE [SI].[InfringementId] = 2
UPDATETEXT [dbo].[StudentInfringement].[Comments] @ptr @Len NULL @Comment

エラーメッセージは次のとおりです。

メッセージ 7135、レベル 16、状態 3、行 9 削除の長さ -19 は、利用可能な text、ntext、または image データの範囲内にありません。ステートメントは終了されました。

4

1 に答える 1

0

SQL Server のバージョンは?? 列を-に変更することを強くお勧めします。これは、データ型が SQL Server 2005 の時点で廃止されたためです。NVARCHAR(MAX)NTEXT

NVARCHAR(MAX)一方、通常のすべての文字列操作関数を簡単にサポートし、はるかに使いやすくなります!

于 2011-01-07T16:09:10.657 に答える