use*_*099 6 sql-server sql-server-2008
我继承了一个ms sql server 2008服务器应用程序,并在检查存储过程时,我注意到它们以一个USE [ELECS]语句开头,ELECS是数据库名称.
当我尝试重新创建其中一个存储过程时,我得到的是一个错误,说存储过程不能有一个use语句.
消息154,级别15,状态1,过程TESTME,第3行,过程,函数或触发器中不允许使用USE数据库语句.
ms sql server有一个特殊的功能允许这个吗?
Cur*_*urt 11
你很可能USE在CREATE/ ALTER PROCEDUREstatement 上面看过.
在这种情况下,它被用于设置应该更新过程的数据库.
它不能在存储过程中使用,但如果您希望引用其他数据库,可以在表引用中设置它.即:SELECT声明:
SELECT *
FROM [DatabaseName].dbo.[TableName]
Run Code Online (Sandbox Code Playgroud)
小智 10
使用Go前USE[databaseName]声明.在SQL 2005中为我工作
例:
GO
USE [Database_Name]
Go
ALTER PROCEDURE [dbo].[Procedure_name]
Run Code Online (Sandbox Code Playgroud)