Oracle临时表应用

1.参考

oracle两种临时表的创建及使用方法_oracle 临时表-CSDN博客

【SQL】全局临时表 GLOBAL TEMPORARY TABLE-CSDN博客

2.语句

CREATE GLOBAL TEMPORARY TABLE tablename (columns) [ ON COMMIT PRESERVE | DELETE ROWS ]

3.应用

sql 复制代码
CREATE GLOBAL TEMPORARY TABLE "SEC_BASE" 
   (	
    "C_SEC_CODE" VARCHAR2(100) DEFAULT ' ' NOT NULL ENABLE, 
	"C_SEC_NAME" VARCHAR2(200) DEFAULT ' ' NOT NULL ENABLE, 
	"C_SEC_MKT_CODE" VARCHAR2(30) DEFAULT ' ' NOT NULL ENABLE, 
	"C_SEC_ISIN_CODE" VARCHAR2(40), 
	"C_MKT_CODE" VARCHAR2(40) DEFAULT ' ' NOT NULL ENABLE, 
	"C_SEC_VAR_CODE" VARCHAR2(40) DEFAULT ' ' NOT NULL ENABLE, 
	"C_DC_CODE" VARCHAR2(40) DEFAULT ' ' NOT NULL ENABLE, 
	"N_PRICE_FCR" NUMBER(18,4) DEFAULT 1 NOT NULL ENABLE, 
	"C_SEC_CODE_TRG" VARCHAR2(100), 
	"N_AMOUNT_HD" NUMBER(18,4) DEFAULT 1 NOT NULL ENABLE, 
	"N_FV_ISSUE" NUMBER(30,15) DEFAULT 1 NOT NULL ENABLE, 
	"D_TO_LIST" DATE DEFAULT TO_TIMESTAMP('1900-01-01','YYYY/MM/DD') NOT NULL ENABLE, 
	"D_OFF_LIST" DATE DEFAULT TO_TIMESTAMP('1900-01-01','YYYY/MM/DD') NOT NULL ENABLE, 
	"N_BLXS" NUMBER(15,8), 
	"C_JCJG" VARCHAR2(120), 
	"N_UPPER_LIMIT" NUMBER(15,8), 
	"N_LOWER_LIMIT" NUMBER(15,8), 
	"C_INTERVAL_TIME" VARCHAR2(4000), 
	"C_INTERVAL_DAY" VARCHAR2(20), 
	"C_SETT_ORG" VARCHAR2(100), 
	"N_XSFWFL" NUMBER(18,8), 
	"C_TGR_CODE" VARCHAR2(50), 
	"C_TGR_NAME" VARCHAR2(50), 
	"D_TO_LIST_ZQ" DATE DEFAULT TO_TIMESTAMP('1900-01-01','YYYY/MM/DD'), 
	"C_FXJG_CODE" VARCHAR2(20) DEFAULT ' ', 
	"C_MAIN_PROP" VARCHAR2(20) DEFAULT ' ', 
	"C_GUAR_TYPE" VARCHAR2(20), 
	"C_FINA_COMM" VARCHAR2(20), 
	"C_SFJF" VARCHAR2(20), 
	"D_SQAI_BEGIN" DATE, 
	"C_BASE_DATE_TYPE" VARCHAR2(50), 
	"N_BASE_DATE" NUMBER(3,0), 
	"C_DUE_DATE_TYPE" VARCHAR2(50), 
	"N_DUE_DATE" NUMBER(3,0), 
	"C_FINANCE_TOOL" VARCHAR2(30) DEFAULT ' ', 
	"C_KZCD_GQ" VARCHAR2(20), 
	"C_SEC_NAME_CN" VARCHAR2(20), 
	"C_EXT_ASS_CODE" VARCHAR2(20), 
	"C_GLF" VARCHAR2(50), 
	"C_ORG_TYPE" VARCHAR2(20), 
	"C_ISSUERS_CODE" VARCHAR2(50) DEFAULT ' ' NOT NULL ENABLE, 
	"D_CHANGE_LIST" DATE DEFAULT to_timestamp('9998-12-31','YYYY/MM/DD'), 
	"C_DESC" VARCHAR2(300)
   ) ON COMMIT DELETE ROWS ;

CREATE INDEX "IDX_R_P_SV_SEC_BASE0" ON "R_P_SV_SEC_BASE" ("C_SEC_CODE") ;

1.先利用SEC_BASE处理第1个逻辑然后再commit, (commit之后临时表自动清空)

2.再处理后面的第2个逻辑

相关推荐
十年人间~几秒前
mysql等保数据库命令
数据库·mysql
Amagi.4 分钟前
Redis的内存淘汰策略
数据库·redis·mybatis
hai41174196210 分钟前
mysql 与postgresql 的区别(gpt4)
数据库·mysql·postgresql
知识分享小能手20 分钟前
mysql学习教程,从入门到精通,SQL 删除数据(DELETE 语句)(19)
大数据·开发语言·数据库·sql·学习·mysql·数据开发
白总Server34 分钟前
MongoDB解说
开发语言·数据库·后端·mongodb·golang·rust·php
冰镇毛衣40 分钟前
2.4 数据库表字段约束
数据库·sql·mysql
&木头人&1 小时前
oracle select字段有子查询会每次执行子查询吗
数据库·oracle
冰镇毛衣1 小时前
数据库简介
开发语言·数据库·sql·oracle
(⊙o⊙)~哦1 小时前
oracle查询历史操作记录
数据库·oracle
无休居士1 小时前
【实践】应用访问Redis突然超时怎么处理?
数据库·redis·缓存