Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Пуснете всички ограничения в таблица

Винаги можете да копирате резултата от долния панел, да го поставите в горния панел и да натиснете F5. Или можете да създадете низ за директно изпълнение:

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;

(Когато сте доволни от PRINT изход, коментирайте го и разкоментирайте EXEC . Имайте предвид, че изходът за печат ще бъде съкратен до 8K в Management Studio, но променливата наистина съдържа цялата команда.)

Също така не знам как това наистина е свързано с това дали използвате съхранена процедура или не, или защо се опитвате да го направите „без да използвате SP“... тази заявка може да се изпълнява като съхранена процедура или не, всичко зависи от това колко често ще се обаждате, къде живее процедурата и т.н.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Групова актуализация в C#

  2. Позоваване на псевдоним другаде в списъка SELECT

  3. Ръководство за CTE в SQL Server

  4. Агрегирайте побитово-ИЛИ в подзаявка

  5. Как работи клаузата DISTINCT на SQL?