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

Sql server MS-SQL 2008服务器:语法错误?,sql-server,tsql,syntax-error,Sql Server,Tsql,Syntax Error,我发现此命令行有问题: 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 以下子选择命令: SELECT * FROM sys.objects WHE

我发现此命令行有问题:

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
以下子选择命令:

SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID ( N'dbo.njams_test_sql_2.[PROC_DELETE_DATA]'
给出的错误是在的附近有语法错误

“dbo.njams\u test\u sql\u 2.[PROC\u DELETE\u 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]' )

末尾缺少一个括号您缺少第二次查询中的
括号。您的数据库是否真的被称为
dbo
?从SQL Server 2005开始,建议使用最集中的系统目录视图-例如,如果您对存储过程感兴趣,请使用
SELECT*from sys.procedures…
(而不是
sys.objects