sql >> Databasteknik >  >> RDS >> Sqlserver

Släpp alla begränsningar i en tabell

Du kan alltid kopiera utdata från den nedre rutan, klistra in den i den övre rutan och trycka på F5. Eller så kan du bygga en sträng för att exekvera direkt:

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;

(När du är nöjd med PRINT mata ut, kommentera det och avkommentera EXEC . Observera att utskriften kommer att trunkeras till 8K i Management Studio, men variabeln innehåller verkligen hela kommandot.)

Jag vet inte heller hur detta egentligen relaterar till om du använder en lagrad procedur eller inte, eller varför du försöker göra det "utan att gå för SP"... den här frågan kan köras som en lagrad procedur eller inte, allt beror på hur ofta du ska ringa det, var proceduren bor osv.



  1. DataSourceInitializer fungerar inte på Spring Boot 1.2

  2. sqlalchemy kör inte Kommentar på schema

  3. Postgres unika begränsning som inte upprätthåller unikhet

  4. Använd PDO-satsen flera gånger när du använder flera foreach-loopar