我有一个表Users
有以下的列:T-SQL存储过程
Userid Username Password
1 Username1 Password1
2 Username2 Password2
3 Username3 Password3
还有一个表,MappingRoles
:
Userid RoleId
1 1 (FinanceUser)
1 2 (Agent)
1 3 (Client)
我想写一个存储过程,而应返回两个列
IsValidUser
Roles -- of the user
这是我的尝试:
CREATE PROCEDURE getRoles
@Username varchar(50),
@Password varchar(50)
AS
BEGIN
Select * from Users as x inner join MappingRoles as y
on x.Userid=y.Userid
where x.Userid=(Select Userid from Users
where UserName='Username1' and Password='Password1');
END
GO
我在此查询期待优化提供2个返回值:
IsUserAuthenticated
- (内Select
从Users
)如果它存在,那么所有的值。
任何建议将不胜感激。
感谢您的答复马克,这只是样品领域。它在实际的表TripleDES中加密。 –
正如我理解你的问题,一个典型的结果是像'(1,'代理,客户端')',是否正确?在返回值的例子中不应该是'选择RoleId'吗? – HABO
嗨HABO,目前这个sp将返回3行 - –