使用'use'语句创建存储过程

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

你很可能USECREATE/ ALTER PROCEDUREstatement 上面看过.

在这种情况下,它被用于设置应该更新过程的数据库.

它不能在存储过程中使用,但如果您希望引用其他数据库,可以在表引用中设置它.即:SELECT声明:

SELECT *
FROM [DatabaseName].dbo.[TableName]
Run Code Online (Sandbox Code Playgroud)


小智 10

使用GoUSE[databaseName]声明.在SQL 2005中为我工作

例:

GO

USE [Database_Name]

Go

ALTER PROCEDURE [dbo].[Procedure_name]
Run Code Online (Sandbox Code Playgroud)