MS-SQL 2008 服务器:语法错误?

MS-SQL 2008 Server : Wrong Syntax?

我在使用此命令行时遇到问题:

IF  EXISTS (SELECT * FROM sys.objects
            WHERE object_id = OBJECT_ID(N'dbo.njams_test_sql_2.[PROC_DELETE_DATA]')
             AND type in (N'P', N'PC'))
DROP PROCEDURE [PROC_DELETE_DATA]
GO

以下 SubSelect-Command:

SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID ( N'dbo.njams_test_sql_2.[PROC_DELETE_DATA]'

报错

附近有句法错误

'dbo.njams_test_sql_2.[PROC_DELETE_DATA]'

我做错了什么?

您的第一个查询运行完美.. 但是你在第二个查询中缺少')'。

使用以下查询

SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.njams_test_sql_2.[PROC_DELETE_DATA]')

末尾少了一个括号

SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID ( N'dbo.njams_test_sql_2.[PROC_DELETE_DATA]' )