W Oracle, mogę wydać DROP TABLE ... ograniczenia kaskadowe i nie będzie narzekać na FK itp.T-SQL: DROP Równania kaskadowe tabeli?
Czy istnieje odpowiednik w T-SQL?
W Oracle, mogę wydać DROP TABLE ... ograniczenia kaskadowe i nie będzie narzekać na FK itp.T-SQL: DROP Równania kaskadowe tabeli?
Czy istnieje odpowiednik w T-SQL?
NIE, W SSMS kliknij prawym przyciskiem myszy na stole i wybierz "skrypt tabeli jako", a następnie "upuść do", następnie "nowe okno", "plik ..." lub "schowek" i wygeneruje skrypt, który będzie zawierać wszystkie niezbędne kropli FKS itp
Dla tych, którzy dostali się tu w nadziei na bardziej powszechnie obowiązujących odpowiedź
ten znajdzie ograniczenie, upuścić go, a następnie kolumnę
Dzięki i głosowanie na Tim Lentine How to find the name of a default constraint na start.
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
To tylko wygenerowało "drop table [table]". Musisz upewnić się, że w opcjach włączasz elementy zależne od skryptów, to działa – rizzle
To również nie jest możliwe rozwiązanie, jeśli potrzebujesz wygenerować skrypt, którego mogą używać inne osoby, ponieważ nie ma gwarancji, że nazwy ograniczeń będą identyczne w wielu systemach . –