2016-11-30 167 views
0

我尝试在存储过程中授予访问权限,并且出现错误。在存储过程中调用GRANT

我的存储过程是:

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年版

回答

1

一个SQL Server工作添加括号[sqlUserGroup]如果存在添加域。

删除GO。