ストアド プロシージャのジョブを実行すると、データをテーブルに挿入できるというエラーが返されるという問題があります。
IDENTITY_INSERT が OFF に設定されている場合、テーブル 'TagMovementTable_temp' の ID 列に明示的な値を挿入できません。[SQLSTATE 23000] (エラー 544)。ステップが失敗しました.,00:00:00,16,544,,,,0
これは私の手順であり、すでにIDENTITY_INSERT
オンに設定されています。どうすればよいかわかりません。何か助けや考えをお願いします。
SET IDENTITY_INSERT Backup_movment.dbo.TagMovementTable_temp ON
go
ALTER procedure [dbo].[DeleteTagData]
as
begin
insert into Backup_movment.dbo.TagMovementTable_temp([ID]
,[TagID]
,[AntennaID]
,[RSSI]
,[Timestamp]
,[TagData]
,[ZoneCoordinateGroupID]
,[DBTimeStamp]
,[BatteryStatus]
,[Longitude]
,[Latitude]
,[Accuracy])
select
[ID]
,[TagID]
,[AntennaID]
,[RSSI]
,[Timestamp]
,[TagData]
,[ZoneCoordinateGroupID]
,[DBTimeStamp]
,[BatteryStatus]
,[Longitude]
,[Latitude]
,[Accuracy]
FROM
[TrailBlazerNG].[dbo].[TagMovementTable]
where not exists (select 1
from Backup_movment.dbo.TagMovementTable_temp
where Backup_movment.dbo.TagMovementTable_temp.ID = [TrailBlazerNG].[dbo].[TagMovementTable].ID )
if not exists(select top 1 * from ZoneTable where EmergencyMode=1)
begin
delete top(10000) from TagMovementTable where [DBTimeStamp]<DATEADD(hh,-24,getdate())
end
Delete from tagstrongestpingdatatable where [dbtimestamp] < dateadd(hh,-4,getdate())
Delete from tagrawdatatable where [dbtimestamp] < dateadd(hh,-1,getdate())
end