Reklam
başlarındaki --and olanyerlerdeki -- yerleri kaldır prosedür çalışır vaziyete gelsin daha sonrasında kendi tablona göre yazdığımı new query ile f5 yaparak çalıştırÇözüm yolunu gösterdiğiniz için teşekkür ederim. Bu işleri yeni yeni öğreniyorum üstesinden gelebilir miyim bilemiyorum ancak deneyeceğim
Gönderi otomatik olarak birleştirildi:
Prosedürler içerisinde UPGRADE prosedürü olarak bu iki kısım alt alta yer alıyor :
Ekli dosyayı görüntüle 4214ve
Ekli dosyayı görüntüle 4215
Yalnızca p1 ve p2 itemtype kısımları farklı. Ancak bunlarda belirttiğiniz "where" koşulları ve "select insert into" düzenlemelerini nasıl yapacağımı ne yazık ki bilmiyorum...
USE KO_DATABASE_SERVER_001;
GO
-- Eski PK adını bul
DECLARE @PKName NVARCHAR(200);
SELECT @PKName = kc.name
FROM sys.key_constraints kc
INNER JOIN sys.tables t ON kc.parent_object_id = t.object_id
WHERE t.name = 'NEW_UPGRADE2369'
AND kc.type = 'PK';
-- PK kaldır
IF @PKName IS NOT NULL
BEGIN
EXEC('ALTER TABLE NEW_UPGRADE2369 DROP CONSTRAINT ' + @PKName);
END
GO
-- Geçici tablo oluştur
CREATE TABLE NEW_UPGRADE2369_TMP
(
nIndex INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
strNote VARCHAR(250) NULL,
nOriginNumber BIGINT NULL,
nstrNote VARCHAR(250) NULL,
nNewNumber BIGINT NULL,
nGrade TINYINT NULL,
nReqItem BIGINT NULL
);
GO
-- Verileri taşı
SET IDENTITY_INSERT NEW_UPGRADE2369_TMP ON;
INSERT INTO NEW_UPGRADE2369_TMP
(
nIndex,
strNote,
nOriginNumber,
nstrNote,
nNewNumber,
nGrade,
nReqItem
)
SELECT
nIndex,
strNote,
nOriginNumber,
nstrNote,
nNewNumber,
nGrade,
nReqItem
FROM NEW_UPGRADE2369;
SET IDENTITY_INSERT NEW_UPGRADE2369_TMP OFF;
GO
-- Eski tabloyu sil
DROP TABLE NEW_UPGRADE2369;
GO
-- Yeni tabloyu yeniden adlandır
EXEC sp_rename 'NEW_UPGRADE2369_TMP', 'NEW_UPGRADE2369';
GO