国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

關(guān)于臨時(shí)表(from metalink)

2024-07-21 02:36:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  IntrodUCtion
  ~~~~~~~~~~~~
  This is an overview of TEMPORARY TABLES introduced in Oracle8i. This new feature allows temporary tables to be created automatically in a users temporary tablespace.
  
  Syntax
  ~~~~~~
   CREATE GLOBAL TEMPORARY TABLE tablename ( columns )
   [ ON COMMIT PRESERVE DELETE ROWS ]
  
   The default option is to delete rows on commit.
  
  What Happens
  ~~~~~~~~~~~~
   When you create a GLOBAL TEMPORARY table a dictionary definition of the table is created. As soon as the table gets populated (on the first
   INSERT or at creation time for CTAS Operations) a temporary segment is created in the users default TEMPORARY tablespace location. This temporary
   segments contents are just like a normal table.
  
   Different sessions using the same GLOBAL TEMPORARY table get allocated
   different temporary segments. The temporary segments are cleaned up
   automatically at session end or transaction end depending on the specified
   duration (ON COMMIT PRESERVE ROWS or ON COMMIT DELETE ROWS).
  
   Apart from the data visibility temporary tables can be used like ordinary
   tables for most operations.
  
  
  Characteristics
  ~~~~~~~~~~~~~~~
  
  1. Data exists only for the duration of either the session or
   transaction.
  
   This can be specified in the create table command.
   For example:
  
   SQL> Create global temporary table emp_temp(eno number)
   on commit delete rows;
  
   - OR -
  
   SQL> Create global temporary table emp_temp(eno number)
   on commit preserve rows;
  
  
   ON COMMIT DELETE ROWS indicates a transaction level duration and PRESERVE indicates a session level duration.
  
  2. Data is visible only at session or transaction level. Multiple users using the same temporary table can see the definition of the table and their own data segment and nothing else.
  
  3. Indexes, triggers and views can be created on these tables.
  
  4. If an Index is created on temporary tables then it MUST be created
   when the table is empty - ie: When there are NO temporary segments for incarnations of the table. Indexes are implemented as separate temporary segments.
  
  5. No redo is generated for operations on the temporary table itself BUT undo is generated. Redo *IS* generated for the undo so temporary tables do indirectly generate redo.
  
  6. The keyWord GLOBAL indicates the table definition can be viewed by anybody with sufficient privileges - ie:using the same rules that apply to normal user tables. Currently only GLOBAL TEMPORARY tables are supported.
  
  7. TRUNCATE operations truncate only the current session's incarnation of the table.
  
  8. You can only eXPort or import the definition not the data.
  
  9. Segments get created only on the first insert (or CTAS) operation.
  
  
  Drawbacks
  ~~~~~~~~~
  
  1. The table definition is not dropped automatically.
  
  2. Only GLOBAL tables are supported right now,
not local ones.
  
  3. Can perform DDL only when no session is bound to it.
  
  4. There is no underlying support for STATISTICS on GLOBAL TEMPORARY tables so CBO (Cost Based Optimizer) has no statistical information to help determine an execution plan.
   NB: "ANALYZE TABLE COMPUTE/ESTIMATE STATISTICS" returns success even though no statistics are gathered.
  
  Constraints
  ~~~~~~~~~~~
  Constraints can be implemented on the table either at the session or
  transaction level depending on the scope of the temporary table and are not for the entire table even though the constraint is defined for the entire table.
  
  If there is a primary key or unique key constraint, it is applicable only at either session or transaction leve i.e. two users can enter the same values into the table from different sessions even though you have a primary / unique key in place for the entire table (if the scope is the session )
  
  In the case of a transaction level temporary table, the same values can be entered from different transactions.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 云阳县| 城市| 马山县| 修武县| 星座| 政和县| 大丰市| 石泉县| 大悟县| 大理市| 时尚| 阿拉善盟| 黄冈市| 岳池县| 恩平市| 南木林县| 益阳市| 临邑县| 盘山县| 镇安县| 大安市| 吴忠市| 大宁县| 新乡市| 洛川县| 锡林郭勒盟| 密山市| 祁门县| 黄龙县| 黔江区| 淮阳县| 大埔县| 广德县| 彰武县| 稷山县| 安岳县| 台北市| 勃利县| 辽阳县| 邯郸县| 双江|