K文件看倒不錯的enhance , memo 一下~

1.

db 12.2 Quoted User-Defined Identifiers

A quoted user-defined identifier is enclosed in double quotation marks. Between the double quotation marks, any characters from the database character set are allowed except double quotation marks, new line characters, and null characters. For example, these identifiers are acceptable:

Example a

"X+Y"
"last name"
"on/off switch"
"employee(s)"
"*** header info ***"

Example b Reserved Word as Quoted User-Defined Identifier

DECLARE
  "BEGIN" varchar2(15) := 'UPPERCASE';
  "Begin" varchar2(15) := 'Initial Capital';
  "begin" varchar2(15) := 'lowercase';
BEGIN
  DBMS_Output.Put_Line("BEGIN");
  DBMS_Output.Put_Line("Begin");
  DBMS_Output.Put_Line("begin");
END;
/

2.變數宣告長度放寬到128 BYTES ,這倒是好消息

 

3.JSON SUPPORT 

 

4.VALIDATE_CONVERSION,以前要判斷資料有異常無法轉換TYPE 的都比較麻煩,現在要找異常資料就快多了

The following statement returns 0, because the specified value cannot be converted to BINARY_FLOAT:

SELECT VALIDATE_CONVERSION('$29.99' AS BINARY_FLOAT)
  FROM DUAL;

The following statement returns 1, because the specified number format model enables the value to be converted to BINARY_FLOAT:

SELECT VALIDATE_CONVERSION('$29.99' AS BINARY_FLOAT, '$99D99')
  FROM DUAL;

 

 

5.DEPRECATE Pragma ,這對進行版本更新時,不知道有哪些程式用到舊版程式,強制停用很不錯

停用版本宣告

PACKAGE pack5 AS
PRAGMA DEPRECATE(pack5 , ’Package pack5 has been deprecated, use new_pack5 instead.’);
 PROCEDURE foo;
 PROCEDURE bar;
END pack5;

 

接著有引用pack5的都會有警告訊息

SP2-0810: Package Body created with compilation warnings

Errors for PACKAGE BODY PACK6:
4/10     PLW-06020: reference to a deprecated entity: PACK5 declared in unit PACK5[1,9].  
         Package pack5 has been deprecated, use new_pack5 instead

 

6.MV ENHANCE add ON STATEMENT Refresh 

This example creates a materialized view sales_mv_onstat that uses the ON STATEMENT refresh mode and is based on the sh.sales, sh.customers, and sh.products tables. The materialized view is automatically refreshed when a DML operation is performed on any of the base tables. No commit is required after the DML operation to refresh the materialized view.

CREATE MATERIALIZED VIEW sales_mv_onstat
REFRESH FAST ON STATEMENT USING TRUSTED CONSTRAINT
AS
SELECT s.rowid sales_rid, c.cust_first_name first_name, c.cust_last_name last_name,
       p.prod_name prod_name, 
    s.quantity_sold quantity_sold, s.amount_sold amount_sold
FROM sh.sales s, sh.customers c, sh.products p
WHERE s.cust_id = c.cust_id and s.prod_id = p.prod_id;

 

 

7.LISTAGG NEW ENHANCE  OVERFLOW control

LISTAGG ( [ALL] <measure_column> [,<delimiter>] [ON OVERFLOW TRUNCATE [truncate_literal] | ON OVERFLOW ERROR  [WITH | WITHOUT COUNT]]) 
        WITHIN GROUP (ORDER BY <oby_expression_list>)

 

8.OCI Support for Distributed LOBs

   已前跨DB處理lob 非常麻煩,現在總算簡單了...

 

 

 

 

 

 

 

arrow
arrow
    文章標籤
    Oracle
    全站熱搜
    創作者介紹
    創作者 Nolem 的頭像
    Nolem

    Nolem的部落格

    Nolem 發表在 痞客邦 留言(0) 人氣()