1

ストアド プロシージャのジョブを実行すると、データをテーブルに挿入できるというエラーが返されるという問題があります。

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
4

1 に答える 1