调用一个存储过程提示“can't return a result set in the given context“ 为什么?、
存储过程:
DROP PROCEDURE IF EXISTS `proc1`;
delimiter ||
CREATE PROCEDURE `proc1` ( )
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SET @ktl = concat('UPDATE `table_t1`',
' SET ',
' `stat_state` = 0 '
' WHERE ',
'`stat_state` = 1;'
);
PREPARE prepare_temp FROM @ktl;
EXECUTE prepare_temp;
DEALLOCATE PREPARE prepare_temp;
SET @stmt = '';END||
delimiter ;C语言调用:
mysql_real_query(connect,"call `proc1`();",15);
存储过程:
DROP PROCEDURE IF EXISTS `proc1`;
delimiter ||
CREATE PROCEDURE `proc1` ( )
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SET @ktl = concat('UPDATE `table_t1`',
' SET ',
' `stat_state` = 0 '
' WHERE ',
'`stat_state` = 1;'
);
PREPARE prepare_temp FROM @ktl;
EXECUTE prepare_temp;
DEALLOCATE PREPARE prepare_temp;
SET @stmt = '';END||
delimiter ;C语言调用:
mysql_real_query(connect,"call `proc1`();",15);
mysql_connect("localhost", "root", "admin",1,131072)试试