我有很多跨不同客户端使用的存储过程,对于少数客户端,有一个用户 AdminRole 并且需要为 AdminRole 添加执行权限,对于少数客户端,没有用户 AdminRole 并且不需要具有执行权限。
每个存储过程都有
例如:
CREATE PROCEDURE PROCEDURENAME AS
SELECT FIRSTNAME FROM TABLE1
GO
GRANT EXECUTE ON PROCEDURENAME TO ADMINROLE
GO
最后这一行,但是当没有管理员角色时,这将无法执行。我如何在 sql 存储过程中实现这个逻辑?
If userrole contains AdminRole then
--Execute these 2 lines
GRANT EXECUTE ON PROCEDURENAME TO ADMINROLE
GO
else
'Do nothing