我正在迈出开发动态 sql 查询的第一步,我有一个问题要问论坛。可以在连接的 select 语句中附加额外的连接语句(见下面的代码)吗?
use test;
drop procedure if exists test.spds;
delimiter $$
create procedure test.spds (
xage varchar(75),
xgender varchar(2),
xquery varchar(254))
begin
set @xan:= REPLACE(xage,'''','');
set @xgn:= REPLACE(xgender,'''','');
set xquery:=concat('select count(*) from test.ratings where quota=1')
if @xan is not null then
xquery:=xquery concat(' and age in (',@xan,')')
if @xgn is not null then
xquery:=xquery concat(' and gender = ',@xgn,')
end if;
xquery=xquery concat(';');
prepare x1 from xquery;
execute x1;
deallocate prepare x1;
end if;
end $$
同样,这是我的第一次尝试,所以也许我过于简单地处理这个问题,任何指导/建议都将不胜感激。谢谢!