在MySQL中執(zhí)行動(dòng)態(tài)拼接的SQL語(yǔ)句,有點(diǎn)麻煩,以下是一個(gè)簡(jiǎn)單的例子,經(jīng)過(guò)測(cè)試沒(méi)有問(wèn)題。
mysql
>
?delimiter?
//
mysql >??create?procedure?sp_tests(out?itotal?int,?in?scondition?varchar(50))
????->?? begin
????->?????if?scondition?=?''?then
????->?????????set?@sql?=?'select?count(*)?into?@total?from?users';
????->?????else
????->?????????set?@sql?=?concat('select?count(*)?into?@total?from?users?where?',scondition);
????->?????end?if;
????->
????->?????prepare?s1?from?@sql;
????->?????execute?s1;
????->?????set?itotal?=?@total;
????->??end?//
?
mysql>?delimiter?;
mysql>?call?sp_tests(@itotal,'userid=1');
mysql>?select?@itotal;
mysql >??create?procedure?sp_tests(out?itotal?int,?in?scondition?varchar(50))












mysql>?delimiter?;
mysql>?call?sp_tests(@itotal,'userid=1');
mysql>?select?@itotal;