就是传进两个参数,再输出一个结果
存储过程里的参数默认是传进的
Create procedure StudentLogin
(
@StudentNumber nvarchar(50),
@Password nvarchar(50),
@StudentID int output //还有这边 帮忙看下
)
as
select
@StudentID=StudentID //特别是这边是什么意思
from
Students
where
StudentNumber=@StudentNumber
and
PassWord=@Password
所以你要调用的时候传进StudentNumber和Password这两个参数,执行下面的SQL语句后得出StudentID结果就存在StudentID变量里,你再select 变量StudentID就会有结果了.另外你这个存储过程应该不是MySQL的格式吧.MySQL的格式应该是这样的
delimiter //(改变MySQL的结束符";"为"//")
create procedure StudentLogin(in StudentNumber(50),in Password varchar(50),out StudentID int)
begin
declare StudentID int default 0;
select StudentID=StudentID from Students where StudentNumber=StudentNumber and
Password=Password;
end;
//
delimiter ;
call StudentLogin("1234","123456",@a);
select @a;
上面的存储过程没有经过测试,有错请包涵.
存储过程里的参数默认是传进的
Create procedure StudentLogin
(
@StudentNumber nvarchar(50),
@Password nvarchar(50),
@StudentID int output //还有这边 帮忙看下
)
as
select
@StudentID=StudentID //特别是这边是什么意思
from
Students
where
StudentNumber=@StudentNumber
and
PassWord=@Password
所以你要调用的时候传进StudentNumber和Password这两个参数,执行下面的SQL语句后得出StudentID结果就存在StudentID变量里,你再select 变量StudentID就会有结果了.另外你这个存储过程应该不是MySQL的格式吧.MySQL的格式应该是这样的
delimiter //(改变MySQL的结束符";"为"//")
create procedure StudentLogin(in StudentNumber(50),in Password varchar(50),out StudentID int)
begin
declare StudentID int default 0;
select StudentID=StudentID from Students where StudentNumber=StudentNumber and
Password=Password;
end;
//
delimiter ;
call StudentLogin("1234","123456",@a);
select @a;
上面的存储过程没有经过测试,有错请包涵.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货