0

SQL Server 2005 データベースに、データ型が NTEXT のフィールドを持つテーブルがあります。このテーブルは、多数の SQLCE サブスクリプションを使用してマージ レプリケーションでレプリケートされます。

ON INSERTNTEXT フィールドを処理するために、このテーブルにトリガーを追加しようとしました。しかし、私はこのエラーが発生しました:

Cannot use text, ntext, or image columns in the 'inserted' and 'deleted' tables.

私の調査では、NTEXT が非推奨であり、NVARCHAR(MAX) に変更する必要があるという投稿がいくつか見つかりました。しかし、スナップショットを再作成せずにこれを行うことはできません。これは、デバイスで作業している人々にとってはかなりの問題です (データ量と時間のため)。

挿入トリガーがデータ型を処理するための回避策はありますか?

これは、エラーがスローされる場所です。

DECLARE c1 CURSOR FOR SELECT ControlValue FROM INSERTED
4

1 に答える 1

1

これを行うには、基になるテーブルからデータを読み取り、INSERTED で結合します。

これは回避策です:

DECLARE c1 CURSOR FOR SELECT t.ControlValue 
from INSERTED i 
  INNER JOIN TableName t on i.PrimaryKey = t.PrimaryKey

基本的に、insertedおよび/またはdeleted疑似テーブルを基になるテーブルに結合し、基になるテーブルからNTEXTTEXTまたはIMAGEデータを読み取る必要があります。

于 2012-10-20T09:36:28.823 に答える