SQL Server: удалить первичный ключ таблицы, не зная его имени

Если вы можете изменить MyClass2, самый простой способ обратиться к этому - объявить переходный ресурс.

24
задан marc_s 19 October 2009 в 11:07
поделиться

1 ответ

You'll have to use dynamic SQL for that, since ALTER TABLE does not accept variables or subqueries.

CREATE TABLE PKTest ( ID INT PRIMARY KEY ) ;

DECLARE @SQL VARCHAR(4000)
SET @SQL = 'ALTER TABLE PKTEST DROP CONSTRAINT |ConstraintName| '

SET @SQL = REPLACE(@SQL, '|ConstraintName|', ( SELECT   name
                                               FROM     sysobjects
                                               WHERE    xtype = 'PK'
                                                        AND parent_obj = OBJECT_ID('PKTest')
                                             ))

EXEC (@SQL)

DROP TABLE PKTest
52
ответ дан 28 November 2019 в 23:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: