为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:win11
【CPU】:酷睿I7
【问题描述】*:将现有mysql存储过程,移植为达梦,缩减后的存储过程为:
CREATE PROCEDURE test01
()
begin
CREATE TEMPORARY TABLE IF NOT EXISTS coeffTable(GUID varchar(40), NEWGUID varchar(40));
insert into coeffTable(GUID,NEWGUID) VALUES( '001', '001new') ;
DROP TEMPORARY TABLE IF EXISTS coeffTable;
END
达梦设想解决方案:
1、方案一:也使用临时表,但在创建时,总提示临时表不存在,编译失败;
2、方案二:使用对象类型,但不知道如何使用;
临时表分为事务级和会话级,事务或会话结束后即清空,不用配置创建和删除步骤
或者均使用动态sql方式执行
EXECUTE IMMEDIATE 'create table ...';
EXECUTE IMMEDIATE 'insert ...';
EXECUTE IMMEDIATE 'drop table ...';