比如有一个存储过程
CREATE PROCEDURE `test`()
BEGIN
declare m_a varchar(20);
set m_a = 'delete from testable'; prepare stmt from 'delete from testtable'; --这样可以编译通过
execute stmt; prepare stmt from m_a; --这里就编译不通过了
execute stmt; END
CREATE PROCEDURE `test`()
BEGIN
declare m_a varchar(20);
set m_a = 'delete from testable'; prepare stmt from 'delete from testtable'; --这样可以编译通过
execute stmt; prepare stmt from m_a; --这里就编译不通过了
execute stmt; END
PREPARE p2 FROM 'UPDATE a SET name=''namax'' WHERE id=?;';
EXECUTE p2 USING @id;
变量用@xxx的形式即可
set m_a = 'delete from a'; prepare stmt from @m_a;
execute stmt ;
这样编译通过,但调用存储过程时又出错
prepare stmt from @m_a;
execute stmt ;
那游标可不可以动态的啊
比如 set @m_a = select dd from a';
DECLARE cur1 CURSOR FOR @m_a;
这样不可以的