Eliminar todos los constraints SQL Server

Hola tyros!

Yo de nuevo, Hoy voy a mostrarles como eliminar todos los constraints de una base de datos SQL Server.

NOTA IMPORTANTE: Probado con SQL Server 2014, Para versiones anteriores, requerirá cambios mínimos.

Este es el código:

use tu_base_de_datos
go
declare @schemaName varchar(100), @tableName nvarchar(100), @constraintName nvarchar(100), @sql nvarchar(max)
declare cur cursor 

for select s.name, o.name, fk.name  from sys.foreign_keys fk  join sys.objects o on o.object_id=fk.parent_object_id join sys.schemas s on s.schema_id = o.schema_id
open cur
fetch next from cur into @schemaName, @tableName, @constraintName
while @@fetch_status = 0
begin
    set @sql = concat('alter table [',@schemaName,'].[',@tableName,'] drop constraint ', @constraintName)
    exec(@sql)
    fetch next from cur into @schemaName, @tableName, @constraintName
end
close cur
deallocate cur

No hay comentarios:

Publicar un comentario