CREATE PROCEDURE [ManagerLogin]
(
@userName varchar(20),
@userPwd varchar(20),
@flag int output
)
ASselect id from ff_manager where userName=@userName and userPwd=@userPwd and auditing=1if (@@RowCount<1)
BEGIN
select id from ff_manager where userName=@userName and userPwd=@userPwd
if (@@RowCount<1)
begin
select id from ff_manager where userName=@userName
if (@@RowCount<1)
set @flag=666
else
set @flag=777
end
else
set @flag=888
END
else
begin
set @flag=999
--更新最后登录时间
update ff_manager set loginCount=loginCount+1,loginTime=GETDATE() WHERE userName=@userName
end
return @flag
GO我在查询分析器是这么写的
declare @flag int
exec ManagerLogin 'admin','admin',@flag output
为什么查询出来的都是 列为ID,值为1呢? 1为表中ID数,表中只有一条记录
(
@userName varchar(20),
@userPwd varchar(20),
@flag int output
)
AS
BEGIN
select id from ff_manager where userName=@userName and userPwd=@userPwd and auditing=1 set @flag=999 if (@@RowCount<1)
BEGIN
select id from ff_manager where userName=@userName and userPwd=@userPwd
if (@@RowCount<1)
begin
select id from ff_manager where userName=@userName
if (@@RowCount<1)
set @flag=666
else
set @flag=777
end
else
set @flag=888 END
else
begin
--更新最后登录时间
update ff_manager set loginCount=loginCount+1,loginTime=GETDATE() WHERE userName=@userName
end
return
END
GOdeclare @flag int
exec ManagerLogin 'admin','admin',@flag output
select @flag
go