Hata mesajı şu şekilde:
Tab_RefHive tablosu identity özelliğine sahip değil. SET IDENTITY_INSERT işlemi gerçekleştirilemiyor.
Çözüm ÖNCELİKLE HER ZAMAN YEDEK ALIN!
dwHiveID sütununu önce SET IDENTITY_INSERT komutunu kaldırarak manuel olarak değer eklemek ve ardından dwHiveID sütununa IDENTITY özelliğini eklemek gerekiyor.
öncelikle yeni bir tablo oluşturalım;
CREATE TABLE Tab_RefHive_Temp (
dwHiveID INT IDENTITY(1,1) PRIMARY KEY, -- kimlik sütunu ekliyoruz
btKeepMonsterCountType INT,
dwOverwriteMaxTotalCount INT,
fMonsterCountPerPC FLOAT,
dwSpawnSpeedIncreaseRate INT,
dwMaxIncreaseRate INT,
btFlag INT,
GameWorldID INT,
HatchObjType INT,
szDescString128 VARCHAR(128)
);
ardından
Tab_RefHive'daki veriyi geçici tabloya kopyalayın;
INSERT INTO Tab_RefHive_Temp (btKeepMonsterCountType, dwOverwriteMaxTotalCount, fMonsterCountPerPC, dwSpawnSpeedIncreaseRate, dwMaxIncreaseRate, btFlag, GameWorldID, HatchObjType, szDescString128)
SELECT btKeepMonsterCountType, dwOverwriteMaxTotalCount, fMonsterCountPerPC, dwSpawnSpeedIncreaseRate, dwMaxIncreaseRate, btFlag, GameWorldID, HatchObjType, szDescString128
FROM Tab_RefHive;
Eski tabloyu silelim;
DROP TABLE Tab_RefHive;
Yeni tabloyu yeniden adlandıralım:
EXEC sp_rename 'Tab_RefHive_Temp', 'Tab_RefHive';
SET IDENTITY_INSERT komutunu kullanarak veri ekleme
Artık dwHiveID sütununu kimlik sütunu olarak tanımladık, bu nedenle SET IDENTITY_INSERT komutunu tekrar kullanabilirsiniz.
SET IDENTITY_INSERT Tab_RefHive ON;-- Veriyi ekleyebilirsinizINSERT INTO Tab_RefHive (dwHiveID, btKeepMonsterCountType, dwOverwriteMaxTotalCount, fMonsterCountPerPC, dwSpawnSpeedIncreaseRate, dwMaxIncreaseRate, btFlag, GameWorldID, HatchObjType, szDescString128)VALUES (@maxHiveID, 0, 1, 0, 0, 0, 0, 1, 1, 'Auto generated hive for ' + @monsterCodeName);SET IDENTITY_INSERT Tab_RefHive OFF;
En sonda manuel girişi kapattık SET IDENTITY_INSERT Tab_RefHive OFF ile tüm adımlardan sonra
@Thor Hocamızın verdiği presedürü okutun ayarlarınızı yapıp sorun yaşmamanız gerekiyor yaşarsanız belirtin yardımcı olalım.