T-SQL: DROP vincoli di tabella cascade equivalente?
Domanda
In Oracle, posso emettere un DROP TABLE ... vincoli cascata e non si lamenterà di FKS, ecc.
C'è un equivalente in T-SQL?
Soluzione
NO, IN SSMS fare clic destro sul tavolo, e selezionare "tavolo script come" e poi "drop in", poi "il file ..." "nuova finestra", o "appunti" e produrrà uno script che includere tutte le gocce necessarie di FKS etc.
Altri suggerimenti
Per coloro che ha ottenuto qui nella speranza di una risposta più generalmente applicabile
Questa troveranno il vincolo, cadere, e poi la colonna
Grazie e un voto per Tim Lentine Come trovare il nome di un vincolo predefinito per l'avvio.
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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow