0

エラーが発生しており、理解に苦しんでいます。

2 つのテーブルがあり、あるテーブルから別のテーブルにデータをコピーしようとしています (簡略図):

MyTable
-------
ID varchar(11) do not allow nulls
Field01 numeric(6,0) allow nulls

MyTable_Temp
------------
ID varchar(11) do not allow nulls
Field01 numeric(6,0) allow nulls

私のクエリは次のようになります。

DELETE FROM dbo.MyTable
INSERT INTO dbo.MyTable([ID],[Field01])
SELECT ID, Field01 FROM [dbo].MyTable_Temp WITH (NOLOCK)

ただし、クエリを実行すると、次のエラーがスローされます。

メッセージ 242、レベル 16、状態 3、手順 TRG_MyTable、行 6 char データ型から datetime データ型への変換により、範囲外の datetime 値が発生しました。

クエリの Field01 部分をコメント アウトすると、正常に実行されます。数値フィールドはどのようにして日時エラーをスローすることができますか?

4

1 に答える 1

1

発火している宛先テーブルに何らかのトリガーがあるように見えます(TRG_MyTableはプレゼントです)おそらく、タイムスタンプ付きのレコードを監査テーブルのどこかに挿入するようなことをしていて、混乱しています。

于 2009-07-08T20:30:39.677 に答える