10 Eylül 2024 Salı

Mssql de bir tablodaki verileri aynı alanlara sahip başka bir tabloya aktarma

Eğer tüm sütunlar aynıysa ve sırayla aynı sütunları aktarıyorsanız, sütun adlarını belirtmeden daha kısa bir şekilde de yazabilirsiniz:

INSERT INTO Personel_Yedek

SELECT * FROM Personel

Eğer bu sorgudan sonra aşağıdaki gibi bir hata alabilirsiniz

An explicit value for the identity column in table 'AcademicUnitTypes' can only be specified when a column list is used and IDENTITY_INSERT is ON.

Bu hata, IDENTITY özelliğine sahip bir sütuna doğrudan değer eklemeye çalıştığınızda meydana gelir. IDENTITY sütunları, otomatik olarak artan bir sayısal değer üretir ve genellikle bu sütunlara manuel olarak değer eklenmez. 

Ancak, bazı durumlarda, bu tür bir sütuna manuel olarak değer eklemek isteyebilirsiniz (örneğin, bir tablodaki tüm verileri başka bir tabloya taşımanız gerektiğinde). 

Bunu yapabilmek için IDENTITY_INSERT özelliğini geçici olarak ON duruma getirmeniz gerekir.

SET IDENTITY_INSERT AcademicUnitTypes ON;

INSERT INTO AcademicUnitTypes (ID, Column1, Column2, ...)
SELECT  *
FROM AnotherTable;

SET IDENTITY_INSERT AcademicUnitTypes OFF;

Hiç yorum yok:

Yorum Gönder

Mssql de bir tablodaki verileri aynı alanlara sahip başka bir tabloya aktarma

Eğer tüm sütunlar aynıysa ve sırayla aynı sütunları aktarıyorsanız, sütun adlarını belirtmeden daha kısa bir şekilde de yazabilirsiniz: INSE...