存储过程中的问题,急啊

chinashiji 2012-07-12 09:45:41
我要存储过程中,根据用户名和密码,查出用户USERID,然后在存储过程中执行其他关于USERID的语句
我用
select top 1 pe_pwdd,pe_sex,pe_nini,diqu1,@UserId=UserId
from dbo.[useruser1]
where pe_email=@UserName and pe_pwdd=@paww
提示错误,查询和赋值要分开

我该怎么办呢?难道一定要先 if exists(select....where....),然后再 if exists(select..,@UserId=UserId..where....)吗。(用select top 1..,@UserId=UserId..where....也不行,提示错误))这样的话不等于又做了一次重复的SELECT查询吗,有没有简单的好办法,
因为我一次要查询很多字段内容,在存储过程中我要知道UserId的值,因为后面要紧跟着update set where UserId=取出的UserId值。
...全文
65 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinashiji 2012-07-12
  • 打赏
  • 举报
回复
我倒,看来还是只能做两次查询了,我以为会有更好的办法一次解决
天-笑 2012-07-12
  • 打赏
  • 举报
回复

--写成两段
--这个结果集给asp用
select top 1 pe_pwdd,pe_sex,pe_nini,diqu1 from dbo.[useruser1]
where pe_email=@UserName and pe_pwdd=@paww

--这个自己内部处理
select top 1 UserId=UserId
from dbo.[useruser1]
where pe_email=@UserName and pe_pwdd=@paww

chinashiji 2012-07-12
  • 打赏
  • 举报
回复
但是我pe_sex,pe_nini这些,是要在ASP里调用的,直接在存储过程中,@pe_sex=pe_sex,@pe_nini=pe_nini这样的话,在ASP里怎么调用这些值呢
chinashiji 2012-07-12
  • 打赏
  • 举报
回复
感谢楼上,但是我就是在这个过程里用UUSERID,其他的SEX,NINI之类的,都要是返回ASP的,直接,@pe_sex=pe_sex,@pe_nini=pe_nini这样的话,我ASP里怎么调用pe_sex,pe_nini这些呢
天-笑 2012-07-12
  • 打赏
  • 举报
回复

select top 1 @pe_pwdd = pe_pwdd,@pe_sex=pe_sex,@pe_nini=pe_nini,@diqu1 = diqu1,@UserId=UserId
from dbo.[useruser1]
where pe_email=@UserName and pe_pwdd=@paww
--查询和赋值不能在一个语句里执行的

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧