GBase 8a
适配迁移
文章
GBase 8a动态执行SQL里的数据如何返回调用方法
GBase社区管理员发表于2021-01-08 09:07:11102次浏览0个评论
本文介绍GBase 8a的实现从动态执行的SQL里,用session变量来返回数据的方法。
session变量
用@开头的变量,是session级的变量,只有当前session可见。可以规避并发冲突。
动态SQL代码
如下SQL是样例,一般都是concat拼装的,所以只能动态执行,其中需要返回的数据通过@out_str返回。
@str=concat('select now() into @out_str from ',v_table_name,' limit 1');
存储过程样例
drop procedure if exists p_test;
delimiter //
create procedure p_test()
begin
DECLARE v_sql_string varchar(1000);
set v_sql_string = 'select now() into @out_str';
set @sql_str_exec = v_sql_string;
prepare stmt_exesql from @sql_str_exec;
execute stmt_exesql;
select @out_str;
end//
delimiter ;
call p_test();
select @out_str;
评论已关闭
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526