Oracle中用子查詢建立臨時表 並賦值資料
直接看一下這個問題吧: create global temporary table myTable as select e.empno,e.ename,e.deptno from emp e 這條語句為什麼只是建立了一個myTable表的結構而沒有將emp表中對應列的資料賦值過去??? 怎樣才能在利用子查詢建立臨時表時同時賦值資料到臨時表中???
oracle中臨時表有兩種 on commit delete row; --預設選項,在commit的時候將資料刪除 on commit preserve row; --在commit的時候將資料保留,會話結束後自動刪除。 由於第一種是預設值,你的命令裡面沒加選項預設為commit後刪除資料。 而ddl語句(create table 就是一個ddl)發出後,oracle會隱式的提交事務(commit),因此剛剛插入到臨時表的資料被自動刪除了。 這就是你沒查到資料的原因。 改成第二種方式就ok了: create global temporary table myTable on commit preserve row as select e.empno,e.ename,e.deptno from emp e;追問透過你說的那種方式建立的表,資料是複製過去了,但會話未結束不能刪除它,怎樣才能在建立之後又可以馬上刪除它??即: create global temporary table myTable on commit preserve rows as select e.empno,e.ename,e.deptno from emp e; drop table mytable--此語句執行失敗,怎樣讓它成功?提問者評價回答對於會話級的臨時表,drop 之前先 truncate table mytable;感謝各位的熱心幫助!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-1248842/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [ORACLE BUG]查詢結果錯誤--臨時表並行Oracle並行
- Oracle臨時表 優化查詢速度Oracle優化
- oracle資料庫建立Squence序列並查詢Oracle資料庫
- Oracle臨時表最佳化查詢速度Oracle
- Oracle臨時表 最佳化查詢速度Oracle
- Oracle下查詢臨時表空間佔用率Oracle
- SQLServer資料庫中建立臨時表SQLServer資料庫
- oracle 表空間,臨時表空間使用率查詢Oracle
- 查詢oracle 表的大小和表的建立時間Oracle
- 子查詢-表子查詢
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- jsp裡如何對建立的臨時表進行查詢?急!JS
- Oracle資料庫開發——臨時表Oracle資料庫
- ORACLE Temporary Tables臨時表更適合做插入和查詢操作Oracle
- oracle表查詢的並行度Oracle並行
- mysql 建立臨時表MySql
- SQL建立臨時表SQL
- 如何在 django 中用 orm 寫子查詢DjangoORM
- oracle臨時表Oracle
- Oracle 臨時表Oracle
- Oracle 12CR2查詢轉換之cursor-duration臨時表Oracle
- oracle臨時表的經典學習資料Oracle
- RAC:在子查詢使用gv$檢視,有時查詢不出資料
- oracle 並行查詢時並行資源分配追蹤測試Oracle並行
- oracle子查詢Oracle
- SQL Server通過建立臨時表遍歷更新資料SQLServer
- oracle 查詢什麼sql佔用臨時段OracleSQL
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- ORACLE臨時表和SQLSERVER臨時表異同OracleSQLServer
- oracle外部表建立以及收集統計資訊以及臨時表Oracle
- 臨時表空間被佔滿的原因查詢
- PHP專案中如何用PDO查詢臨時表?PHP
- oracle11g 查詢臨時表空間的使用率和正在使用臨時表空間的使用者Oracle
- Oracle建立表空間、建立資料庫使用者、賦許可權Oracle資料庫
- Oracle的臨時表Oracle
- oracle 臨時表空間的增刪改查Oracle
- ORACLE 臨時表空間的增刪改查:Oracle
- oracle臨時表空間的增刪改查Oracle