我尝试在存储过程中授予访问权限,但我有错误。
我的存储过程是:
CREATE PROCEDURE MyShema.up_MyStoredProcedureName
-- Add the parameters for the stored procedure here
AS
BEGIN
GRANT SELECT ON OBJECT :: MyBD.MyShema.vw_MyViewToGiveAccess TO sqlUserGroup
GO
END
但是当我尝试创建它时,它会给出我的错误:
Msg 102, Niveau 15, État 1, Procédure up_MyStoredProcedureName, Ligne 41 Incorrect syntax near 'sqlUserGroup'.
Msg 102, Niveau 15, État 1, Ligne 44 Incorrect syntax near 'END'.
但是当我单独执行此GRANT命令(而不是在存储过程创建中)时,它可以工作。所以我的userGroup和我的表名都没问题。
我们如何做到这一点?
我只在堆栈溢出中找到一个关于类似问题的帖子(存储过程中的调用授权),但尚未回答。它告诉我们可以做到但仍然没有关于它的例子。 Can I execute GRANT statement in a stored procedure using MYSQL
提前感谢您的帮助
注意:我目前正在使用版本为2008的SQL Server
答案 0 :(得分:1)
添加括号[sqlUserGroup]并添加域(如果存在)。
删除GO。