就如同建立固定表一樣:
vSql:='create ...';
execute immediate vSql;
vSql:='create ...';
execute immediate vSql;
解决方案 »
- oracle form 中的current record 取值 求大神救啊
- Java
- oracle 凌晨自动执行存储过程高级问题
- ERwin工具的relationship种类的问题
- drop user 时报ORA-03113: 通信通道的文件结束错误(小女子在线等,谢谢)
- 根据SID 查不到 sql_text
- 如何知道Oracle的SID 和 端口号?
- [求助]为什么所建表为只读?(前端工具:VB6.0)
- 新手请教!关于我assignment里遇到的问题,请指教!
- 在EXP数据库时,含有CLOB字段的表备份不出来,具体报下面的错误!
- ora-04031:无法分配4096的共享内存("shared pool","begin --Call procedur...","PL/SQL MPCODE","BAMIMA Bam Buffer")
- 反向索引探讨
[A]8i以上版本
create global temporary tablename(column list)
on commit preserve rows; --提交保留数据 会话临时表
on commit delete rows; --提交删除数据 事务临时表
临时表是相对于会话的,别的会话看不到该会话的数据。
1。会话特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT PRESERVE ROWS; 2。事务特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT DELETE ROWS;
CREATE GLOBAL TEMPORARY TABLE MyTempTable
所建的临时表虽然是存在的,但是你试一下insert 一条记录然后用别的连接登上去select,记录是空的,明白了吧。
下面两句话再贴一下:
--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。转自包子
AS
LS_DATE varchar(20);
ln_count numeric(9);
str varchar2(100);
BEGIN
--DROP TABLE #PDYDY; 在会话中删除临时表会出错
begin
str:='CREATE GLOBAL TEMPORARY PDYDY
(F_PDRQ char(8) not null, F_BMNM number not null) ON COMMIT PRESERVE ROWS';
execute immediate str;
exception
when others then
null;
end;
select count(*) INTO ln_count from HSPDYDY where F_PDRQ=LS_DATE;
if ln_count=0 then
return;
end if;
insert into PDYDY(F_PDRQ,F_BMNM)
select F_PDRQ,F_BMNM
from HSPDYDY
where F_PDRQ=LS_DATE;
delete from hspdd a where exists(select 1 from PDYDY b where a.f_bmnm=b.f_bmnm);
begin
Insert into HSPDD(F_PDRQ,F_SFJZ,F_BMNM,F_CFBM,F_SPNM,F_PDSL,F_ZMSL,F_PDDJ,F_LSDJ)
select LS_DATE,'1',t1.F_BMNM,t1.F_BMNM,t1.F_SPNM,0,t1.F_JCSL,t1.F_PJJJ,0
from HSSPRJZJC t1,PDYDY t2
where t1.F_BMNM=t2.F_BMNM and t1.F_JCSL<>0 and t1.F_RQ=LS_DATE;
exception
when others then
ROLLBACK;
return;
end;
update HSPDD set F_LSDJ=DASPZD.F_LSDJ
from DASPZD
where HSPDD.F_SPNM=DASPZD.F_SPNM;
COMMIT;
END;
/