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

标签 sql-server sql-server-2008

我继承了一个 ms sql server 2008 服务器应用程序,在检查存储过程时,我注意到它们以 USE [ELECS] 语句开头,ELECS 是数据库名称。

当我尝试重新创建其中一个存储过程时,收到一条错误消息,指出存储过程不能有 use 语句。

Msg 154, Level 15, State 1, Procedure TESTME, Line 3 a USE database statement is not allowed in a procedure, function or trigger.

MS SQL Server 是否有允许这样做的特殊功能?

最佳答案

您很可能在 CREATE/ALTER PROCEDURE 语句上方看到 USE

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

它不能在存储过程中使用,但如果您希望引用不同的数据库,您可以在表引用中设置它。即:对于 SELECT 语句:

SELECT *
FROM [DatabaseName].dbo.[TableName]

关于sql-server - 使用 'use' 语句创建存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13419752/

相关文章:

sql-server - 在 SQL Server 中使用 xml 列是否正式需要 ansi_padding 'on'?

vb.net - 如何最好地加密/解密 SQL Server 数据以防止开发人员看到它?

php - 结果未正确输入 SQL DB

c# - Entity Framework 模型-第一个可为空外键

c# - MSSQL超时错误

sql-server - TSQL插入一组行和相关行

sql-server - 找不到证书

sql - 获得全部时间

sql - 检索插入的最后一行 Uniqueidentifier,它不是 IDENTITY

sql - 同一个临时表上的 T-SQL If Else 条件