Returns information about whether an invoking user has been granted, and has activated, the specified role.
has_role ("role_name", option)
create procedure sa_check as if (has_role("sa_role", 0) > 0) begin print "You are a System Administrator." return(1) end
select has_role("sso_role", 1)
select has_role("oper_role", 1)
has_role functions the same way proc_role does. In SAP ASE versions 15.0 and later, we recommend that you use has_role instead of proc_role. You need not, hoever, convert all of your existing uses of proc_role to has_role.
Not been granted the specified role
Not been granted a role which contains the specified role
Been granted, but has not activated, the specified role
1 – if the invoking user has been granted, and has activated, the specified role.
2 – if the invoking user has a currently active role, which contains the specified role.
alter role, create role, drop role, grant, revoke, set in Reference Manual: Commands
Transact-SQL Users Guide
ANSI SQL – Compliance level: Transact-SQL extension.
Any user can execute has_role.