请问,如下代码,怎么能动态一下行执行,创建临时表,然后插入数据,并返回数据,然后删除临时表。最主要能返回数据
CREATE GLOBAL TEMPORARY TABLE test.TEMP_WORK_VERIFICATION (
uid int,
userid int,
date varchar(100),
xm varchar(100),
type int
) ON COMMIT DELETE ROWS;
insert into test.TEMP_WORK_VERIFICATION(uid, userid, date,xm, type) values (null, 432, '2024-12-03', '', 3);
select A.* from test.TEMP_WORK_VERIFICATION A where A.type + (select sum(isnull(B.type, 0)) from test.tb_oa_work_detail B left join test.tb_oa_work C on B.zbid = C.uid where B.date = A.date
and A.userid = B.userid and C.state >= 0) > 3 ;
drop table test.TEMP_WORK_VERIFICATION
临时表,提交或混滚数据就已经清空了,如果字段不变化,可以不用重复创建的
把insert和select写到一个过程中,直接执行就可以了
如果要把建表,删表,写到过程里,可以把create、inser、select、drop
都改为动态执行,例如
EXECUTE IMMEDIATE 'DROP TABLE "SYSDBA"."TABLE_COUNT20230609"; ';