Herkese merhaba,

Bu yazıda SQL Server’da primary key constraintleri toplu olarak silmek hakkında bilgi vereceğim.

SQL Server’da bazı durumlarda veritabanındaki primary key constraintleri toplu olarak silmek isteyebiliriz.

Aşağıdaki kod yardımıyla bu işlemi rahatlıkla yapabilirsiniz.

DECLARE @name VARCHAR(128);
DECLARE @constraint VARCHAR(254);
DECLARE @SQL VARCHAR(254);

SELECT @name =
(
    SELECT TOP 1
           TABLE_NAME
    FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
    WHERE CONSTRAINT_CATALOG = DB_NAME()
          AND CONSTRAINT_TYPE = 'PRIMARY KEY'
    ORDER BY TABLE_NAME
);

WHILE @name IS NOT NULL
BEGIN
    SELECT @constraint =
    (
        SELECT TOP 1
               CONSTRAINT_NAME
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_CATALOG = DB_NAME()
              AND CONSTRAINT_TYPE = 'PRIMARY KEY'
              AND TABLE_NAME = @name
        ORDER BY CONSTRAINT_NAME
    );
    WHILE @constraint IS NOT NULL
    BEGIN
        SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) + '] DROP CONSTRAINT [' + RTRIM(@constraint) + ']';
        EXEC (@SQL);
        PRINT 'Primary Key Constraint Silindi: ' + @constraint + ' Tablo Adı :  ' + @name;
        SELECT @constraint =
        (
            SELECT TOP 1
                   CONSTRAINT_NAME
            FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
            WHERE CONSTRAINT_CATALOG = DB_NAME()
                  AND CONSTRAINT_TYPE = 'PRIMARY KEY'
                  AND CONSTRAINT_NAME <> @constraint
                  AND TABLE_NAME = @name
            ORDER BY CONSTRAINT_NAME
        );
    END;
    SELECT @name =
    (
        SELECT TOP 1
               TABLE_NAME
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_CATALOG = DB_NAME()
              AND CONSTRAINT_TYPE = 'PRIMARY KEY'
        ORDER BY TABLE_NAME
    );
END;
GO

Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.

SQL Server’da Primary Key Constraintleri Toplu Olarak Silmek

Görüldüğü üzere tüm primary key constraintler silinmiş oldu.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

584 Kez Okundu

Kategoriler: