我在sql server中创建程序,我的代码如下
CREATE PROCEDURE GetRegistrationId
(
@MaxId INT OUTPUT
)
AS
BEGIN
SELECT @MaxId = MAX(UserId) FROM tblRegistration;
return;
END
但是错误说
数据库'master'中的CREATE PROCEDURE权限被拒绝。
答案 0 :(得分:8)
试试这个:
USE <Your Database Name>
GO
CREATE PROCEDURE GetRegistrationId(@MaxId INT OUTPUT)
AS
BEGIN
SELECT @MaxId=MAX(UserId) FROM tblRegistration;
RETURN;
END
OR
选择&#34; 您的数据库名称&#34;从工具栏( SQL编辑器)然后执行过程
答案 1 :(得分:5)
尝试以下任何技巧。
在创建过程语句之上写下此USE [YOUR_DBNAME]
。
USE [YOUR_DBNAME]
GO
CREATE PROCEDURE GetRegistrationId
(
@MaxId INT OUTPUT
)
AS
BEGIN
SELECT @MaxId = MAX(UserId) FROM tblRegistration;
return;
END
或
在SQL Server中,在SQLQuery Editor
从可用的数据库下拉列表中选择目标数据库并执行存储过程。
如果您仍然遇到任何问题,请在下面进行评论。
答案 2 :(得分:1)
将上下文切换到您的数据库将是最好的方法。硬编码
USE <YourDB>
在程序开始时,或者使用完全限定名称来包含数据库名称将使SP不那么便携