甲骨文数据库12 c新特性总结(四)

  
  

  本文是甲骨文数据库12 c新特性的系列文章的第四篇,作者将重点介绍一些对开发者而言非常有用的新特性。相关甲骨文数据库12 c新特性总结(一),甲骨文数据库12 c新特性总结(二),甲骨文数据库12 c新特性总结(三)   

  

  <强>第四部分包括:   

  
      <李>   如何在子表包含数据的情况下截断一个主表   李   <李>   限制头n个查询结果的记录   李   <李>   SQL * Plus的各种增强   李   <李>   会话级序列   李   <李>   与语句的改善   李   <李>   扩展数据类型   李   
  

  <强>   

  

  在之前的版本中,在子表引用一个主表以及子表存在记录的情况下,是不提供截断此主表操作的。而在12 c中的带有<强>级联强操作的<强> 可截断表以截断主表中的记录,并自动对子表进行递归截断,并作为<强>在级联删除强服从外键引用。由于这是应用到所有子表的,所以对递归层级的数量是没有帽子的,可以是孙子表或是重孙子表等等。   

  

  这一增强摈弃了要在截断一个主表之前先截断所有子表记录的前提。新的<>强级联强语句同样也可以应用到表分区和子表分区等。   

  

  
  

              完成,TRUNCATE  TABLE 级联,
  完成,TRUNCATE  TABLE  PARTITION 级联;               

  
  

  

  如果对于子表的外键没有定义在级联删除<强> ,选项,便会抛出一个ora - 14705错误。   

  

  <强>   

  

  在之前的版本中有多种间接手段来对顶部或底部记录获取头n个查询结果。而在12 c中,通过新的<>强取第一个下| | % 强语句简化了这一过程并使其变得更为直接。为了从EMP表检索排名前10的工资记录,可以用以下新的SQL语句:   

  

  
  

              完成,SELECT  eno、ename sal 得到emp  ORDER  BY  sal  DESC 
  FETCH  FIRST  10, ROWS ;               

  
  

  

  以下示例获取排名前N的所有相似的记录。例如,如果第十行的工资值是5000,并且还有其他员工的工资符合排名前N的标准,那么它们也同样会由有联系语句获取。   

  

  
  

              完成,SELECT  eno、ename sal 得到emp  ORDER  BY  sal  DESC 
  FETCH  FIRST  10, ROWS  ONLY  WITH 关系;               

  
  

  

  以下示例限制从EMP表中获取排名前10%的记录:   

  

  
  

              完成,SELECT  eno、ename sal 得到emp  ORDER  BY  sal  DESC 
  FETCH  FIRST  10, PERCENT  ROWS ;               

  
  

  

  以下示例忽略前5条记录并会显示表的下5条记录:   

  

  
  

              完成,SELECT  eno、ename sal 得到emp  ORDER  BY  sal  DESC 
  OFFSET  5, ROWS  FETCH  NEXT  5, ROWS ;               

  
  

  

  所有这些限制同样可以很好的应用于PL/SQL块。   

  

  
  

              BEGIN 
  SELECT  sal  BULK  COLLECT  INTO  sal_v 得到EMP 
  FETCH  FIRST  100年,ROWS 只有,,
  结束;               

  
  

  

  <强>   

  

  SQL * Plus的隐式结果:12 c中,在没有实际绑定某个RefCursor的情况下,SQL * +从一个PL/SQL块的一个隐式游标返回结果。这一新的<强> dbms_sql。return_result 强过程将会对PL/SQL块中由选择语句查询所指定的结果加以返回并进行格式化。以下代码对此用法进行了描述:   

  

  
  

              完成,CREATE  PROCEDURE  mp1 
  res1  sys_refcursor,
  BEGIN 
  open  res1  for  SELECT  eno ename, sal 得到电磁脉冲;,

甲骨文数据库12 c新特性总结(四)