+ -
当前位置:首页 → 问答吧 → SQL动态查询语句?

SQL动态查询语句?

时间:2011-11-28

来源:互联网

create PROCEDURE `procUserlogin`(
out o_user_id int,
in i_userName varchar(50),
in i_userPasword varchar(50))
begin
declare ncount int;
set @sqlstr = concat("select o_user_id = count(user_id) from user_list where user_loginname='",i_userName,"'");
prepare sqlstmt from @sqlstr;
execute sqlstmt;
select o_user_id;
end;

==============================================================================================================Unknown column 'ncount' in 'field list'

请问如何把查询的结果放到o_user_id中啊?

作者: postfix2   发布时间: 2011-11-28

select o_user_id = count(user_id)->
select count(user_id) into @o_user_id 

set o_user_id=@o_user_id;

作者: WWWWA   发布时间: 2011-11-28

如何像在MS-SQL那样exec sp_ExecuteSql @sql,N'@userid int output',@userid OUTPUT
动态查询的时间声明这个变量?

作者: postfix2   发布时间: 2011-11-28

你不是已经使用PREPARE了吗?


create PROCEDURE `procUserlogin`(
out o_user_id int,
in i_userName varchar(50),
in i_userPasword varchar(50))
begin
declare ncount int;
set @sqlstr = concat("select @o_user_id := count(user_id) from user_list where user_loginname='",i_userName,"'");
prepare sqlstmt from @sqlstr;
execute sqlstmt;
set o_user_id=@o_user_id;
select o_user_id;
end;

作者: ACMAIN_CHM   发布时间: 2011-11-28

引用楼主 postfix2 的回复:
create PROCEDURE `procUserlogin`(
out o_user_id int,
in i_userName varchar(50),
in i_userPasword varchar(50))
begin
declare ncount int;
set @sqlstr = concat("select o_user_id = count(user_id) fr……


=========================================
谢谢回复,OK!

作者: postfix2   发布时间: 2011-11-28