sql >> Databáze >  >> RDS >> Sqlserver

Zrušte všechna omezení v tabulce

Vždy můžete zkopírovat výstup ze spodního panelu, vložit jej do horního panelu a stisknout F5. Nebo můžete vytvořit řetězec, který se spustí přímo:

DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql += N'
ALTER TABLE ' + QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id))
    + '.' + QUOTENAME(OBJECT_NAME(parent_object_id)) + 
    ' DROP CONSTRAINT ' + QUOTENAME(name) + ';'
FROM sys.foreign_keys;

PRINT @sql;
-- EXEC sp_executesql @sql;

(Když jste spokojeni s PRINT výstup, zakomentujte jej a odkomentujte EXEC . Všimněte si, že tiskový výstup bude v Management Studio zkrácen na 8K, ale proměnná skutečně obsahuje celý příkaz.)

Také nevím, jak to skutečně souvisí s tím, zda používáte uloženou proceduru nebo ne, nebo proč se to snažíte udělat "bez přechodu na SP"... tento dotaz lze spustit jako uloženou proceduru nebo ne, vše záleží na tom, jak často to budete volat, kde se procedura nachází atd.



  1. PHP MYSQL -> Zobrazit data uložená jako typ 'datum' z databáze MYSQL

  2. Příklady UTC_TIMESTAMP() – MySQL

  3. ukládání dat base64 – problém s velikostí řádku je příliš velký

  4. SQL – nahrazení duplicitní hodnoty prázdným