# "GetRolesByUser" 存储过程

说明：

本存储过程返回指定用户所属的所有门户安全角色。输入参数是用户的Email地址。

定义：

       CREATE PROCEDURE Portal_GetRolesByUser
       (
           @Email         nvarchar(100)
       )
       AS

       SELECT
           Portal_Roles.RoleName,
           Portal_Roles.RoleID

       FROM Portal_UserRoles
         INNER JOIN
           Portal_Users ON Portal_UserRoles.UserID = Portal_Users.UserID
         INNER JOIN
           Portal_Roles ON Portal_UserRoles.RoleID = Portal_Roles.RoleID

       WHERE
           Portal_Users.Email = @Email

使用到的数据表：

UserRoles: UserRoles：UserRoles表在门户安全角色（在角色表中定义）与用户（在用户表中定义）之间建立了多对多的联系。通过该表，每个用户可能属于多个角色，同时每个角色可能有多个用户成员。

UserRoles表无主键。

Users: Users表中的每条记录对应用户的一个特定的身份。

Users表的主键是UserID。

Roles: Roles表中的每条记录都定义了所选门户的一个唯一角色， 用户通过UserRoles表的查询值在数据库表中具有了一种角色。

Roles表的主键是RoleID。