请问这条SQL语句该怎么写?

christine_min 2001-08-28 04:17:12
我的表里有一个字段是用来表示用户的type的,3为普通用户,0,1,2为管理员,在注册时要选择注册者的type,然后我要在表里查一下这个名字是不是已经存在,在存储过程中,我是这样写的:
create procedure sp_checkNameExist
@UserName nvarchar(10),
@UserType int
as
if @UserType=3
select UserId from users where UserName=@UserName and UserLevel=3
else
exec('select UserId from users where UserName='+ @UserName +'and (UserLevel=0 or UserLevel=1 or UserLevel=2)' )
select @@rowcount
可是执行的时候,如果参数UserType给的是3,就可以查到正确的结果,如果不是3,就会出现如下的错误提示:

第 1 行: '=' 附近有语法错误。
(所影响的行数为 1 行)

请教一下错在哪里?多谢多谢!
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuzhichao 2001-08-28
  • 打赏
  • 举报
回复
改成:
create procedure sp_checkNameExist
@UserName nvarchar(10),
@UserType int
as
if @UserType=3
select UserId from users where UserName=@UserName and UserLevel=3
else
exec('select UserId from users where UserName='''+ @UserName +''' and (UserLevel=0 or UserLevel=1 or UserLevel=2)' )
select @@rowcount
christine_min 2001-08-28
  • 打赏
  • 举报
回复
可不可以讲清楚一点呢?
bluefish922 2001-08-28
  • 打赏
  • 举报
回复
是你的select语句的问题,大概是符号的问题

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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