SQL Server 2008: DROP PROCEDURE 错误
SQL Server 2008: DROP PROCEDURE error
我尝试执行这个命令:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.njams_test_sql_2.[PROC_CHECK_TRACE_SETTINGS]') AND type in (N'P', N'PC'))
DROP PROCEDURE dbo.njams_test_sql_2.[PROC_CHECK_TRACE_SETTINGS]
GO
但是我收到这个错误:
Msg 166, Level 15, State 1, Line 1
'DROP PROCEDURE' does not allow specifying the database name as a prefix to the object name
我想做的是删除数据库中的所有对象,使数据库为空。我正在使用 Microsoft SQL Server 2014 Management Studio。
正如错误明确指出的那样 - 您 不能 在 DROP PROCEDURE
.
中使用数据库名称作为前缀
您需要确保连接到正确的数据库,然后您需要执行
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.njams_test_sql_2.[PROC_CHECK_TRACE_SETTINGS]') AND type in (N'P', N'PC'))
DROP PROCEDURE [PROC_CHECK_TRACE_SETTINGS]
GO
您需要更改数据库名称和架构的顺序。
这是错误的:
DROP PROCEDURE dbo.njams_test_sql_2.[PROC_CHECK_TRACE_SETTINGS]
这是正确的:
DROP PROCEDURE njams_test_sql_2.dbo.[PROC_CHECK_TRACE_SETTINGS]
或者,您可以将它们放在一边。然后使用当前数据库和默认模式(最有可能dbo
):
DROP PROCEDURE [PROC_CHECK_TRACE_SETTINGS]
我尝试执行这个命令:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.njams_test_sql_2.[PROC_CHECK_TRACE_SETTINGS]') AND type in (N'P', N'PC'))
DROP PROCEDURE dbo.njams_test_sql_2.[PROC_CHECK_TRACE_SETTINGS]
GO
但是我收到这个错误:
Msg 166, Level 15, State 1, Line 1
'DROP PROCEDURE' does not allow specifying the database name as a prefix to the object name
我想做的是删除数据库中的所有对象,使数据库为空。我正在使用 Microsoft SQL Server 2014 Management Studio。
正如错误明确指出的那样 - 您 不能 在 DROP PROCEDURE
.
您需要确保连接到正确的数据库,然后您需要执行
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.njams_test_sql_2.[PROC_CHECK_TRACE_SETTINGS]') AND type in (N'P', N'PC'))
DROP PROCEDURE [PROC_CHECK_TRACE_SETTINGS]
GO
您需要更改数据库名称和架构的顺序。
这是错误的:
DROP PROCEDURE dbo.njams_test_sql_2.[PROC_CHECK_TRACE_SETTINGS]
这是正确的:
DROP PROCEDURE njams_test_sql_2.dbo.[PROC_CHECK_TRACE_SETTINGS]
或者,您可以将它们放在一边。然后使用当前数据库和默认模式(最有可能dbo
):
DROP PROCEDURE [PROC_CHECK_TRACE_SETTINGS]