T-SQL: DROP restricciones de tabla en cascada equivalente?
Pregunta
En Oracle, puedo emitir un DROP TABLE ... limitaciones en cascada y no se quejan de FKs, etc.
¿Hay un equivalente en T-SQL?
Solución
No, de SSMS haga clic derecho en la tabla y seleccione "tabla de secuencia de comandos como" continuación "gota a", luego "nueva ventana", "archivo ..." o "portapapeles" y producirá un script que lo hará incluir todas las gotas necesarias de FKs etc.
Otros consejos
Para los que llegó aquí con la esperanza de una respuesta de aplicación más general
Esto encontrará la restricción, dejarlo caer, y luego la columna
Gracias y un voto a Tim Lentine Cómo encontrar el nombre de un restricción predeterminada para el inicio.
Declare @sql VarChar(255)
Declare @tableName Varchar(255)
Declare @columnName VarChar(255)
Select @tableName = 'MyTableName'
Select @columnName = 'MyColumnName'
select @sql = o.[name] from sysobjects o
inner join syscolumns c
on o.id = c.cdefault
inner join sysobjects t
on c.id = t.id
where o.xtype = 'd'
and t.name = @tableName
and c.name = @columnName
if @sql is not null
begin
select @sql = 'Alter Table ' + @tableName + ' Drop Constraint ' + @sql + ' Alter Table ' + @tablename + ' Drop Column ' + @columnName
exec(@sql)
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow