【问题标题】:SQL - Incorrect Syntax, expecting ID or QUOTED_IDSQL - 语法不正确,需要 ID 或 QUOTED_ID
【发布时间】:2017-07-18 21:00:27
【问题描述】:

我是 SQL 新手,我正在尝试从表中删除约束。

DECLARE @constraintName nvarchar(100)

set @constraintName = (SELECT  OBJECT_NAME(OBJECT_ID) AS NameofConstraint
FROM sys.objects
WHERE type_desc LIKE '%DEFAULT_CONSTRAINT' AND parent_object_id = OBJECT_ID('dbo.regression_pool_machine'))

ALTER TABLE dbo.regression_pool_machine DROP CONSTRAINT @constraintName

将鼠标悬停在上次使用 @constraintName 时出现上述错误。 打印出@constraintName 给了我想要删除的约束值。任何帮助,将不胜感激。

【问题讨论】:

标签: sql-server tsql dynamic-sql


【解决方案1】:

感谢 Illya Bursov 的评论,我发现此解决方案可行

DECLARE @constraintName nvarchar(100)
    DECLARE @sqlCommand varchar(1000)
    set @constraintName = (SELECT  OBJECT_NAME(OBJECT_ID) AS NameofConstraint
    FROM sys.objects
    WHERE type_desc LIKE '%DEFAULT_CONSTRAINT' AND parent_object_id = OBJECT_ID('dbo.regression_pool_machine'))
    SET @sqlCommand = 'ALTER TABLE dbo.regression_pool_machine DROP CONSTRAINT ' + @constraintName
    EXEC (@sqlCommand)

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 1970-01-01
    • 2020-05-23
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多