找到關於 Oracle 的61 篇文章

如何在 Oracle 中從 XML 文件中提取關鍵 XML 元素?

Kiran P
更新於 2020年12月4日 10:42:05

6K+ 次檢視

問題陳述:您需要從 XML 文件中提取一部分/子集的元素值。解決方案:我們可以利用 Oracle 的 EXTRACT 函式,該函式支援 XMLTYPE 資料型別。EXTARCT 函式能夠透過將結果作為 XMLTYPE 值返回來保留 XML 元素名稱和屬性結構。假設我們在 tmp_xml_gen 表中擁有以下 XML,我們希望從中提取客戶姓名。示例       134     taylor.cauchon@internalmail     Taylor Cauchon                     921         COMPLETE                 ... 閱讀更多

如何提取用於關係使用的 XML 資料?

Kiran P
更新於 2020年12月4日 10:40:47

547 次檢視

問題陳述:您需要從 XML 文件中提取各個元素值。解決方案:Oracle 提供 XMLTABLE 函式,可以使用 XQuery 和列對映到 Oracle 資料型別來操作 XML 文件。使用 XMLTABLE,我們可以以關係方式識別和使用 XML 文件中的資料元素。假設以下 XML 文件儲存在 tmp_xml_gen 表中,我們希望從中提取元素。我們有客戶詳細資訊以及訂單相關資訊。示例       134     taylor.cauchon@internalmail     Taylor Cauchon                     921     ... 閱讀更多

如何在 Oracle 中將 XML 資料儲存在表中?

Kiran P
更新於 2020年12月4日 10:39:36

2K+ 次檢視

問題陳述:您需要將原生 XML 資料儲存到資料庫中的關係表中。解決方案:Oracle 有幾種儲存 XML 文件的方法。一種儲存資料的方法是,如果我們的 XML 不需要更改,或者可以使用 XSLT 提取 XML 的一部分,那就是使用 XMLTYPE 資料轉換。我們將使用 XMLTYPE 呼叫將提供的文字轉換為 XMLTYPE 資料型別。在後臺,Oracle XMLTYPE 支援 CLOB 資料型別,因為 XML 在內部儲存為 CLOB。這意味著我們可以使用相同的方法進行轉換,將呼叫傳遞給 XMLTYPE 字串 ... 閱讀更多

如何在 Oracle 中將 SQL 資料轉換為 XML?

Kiran P
更新於 2020年12月4日 10:37:09

1K+ 次檢視

問題陳述:您需要將資料庫中以傳統形式儲存的資料轉換為 XML 文件。解決方案:Oracle 有許多不同的函式可用於將資料轉換為 XML 格式。Oracle 提供的一些用於將關係資料轉換為 XML 的函式是 SYS_XMLGEN、DBMS_XMLGEN 和 XMLELEMENT 函式。我們將使用 SYS_XMLGEN 將行轉換為 XML。SYS_XMLGEN 函式根據行/行或類似行的表示式返回一個 XML 塊。SYS_XMLGEN 可以將文字值、單個列或使用者定義型別作為輸入引數。我們將從學生記錄的學生資料建立 XML。我們將從 ... 閱讀更多

如何編寫一個通用的過程來查詢並刪除 Oracle 中任何表和列中的重複項?

Kiran P
更新於 2020年12月4日 10:35:34

557 次檢視

問題陳述:您希望編寫一個通用的過程來查詢並刪除 Oracle 中任何表和列中的重複項。解決方案:我們可以使用 Oracle 的內部 ROWID 值來唯一標識表中的行,並結合使用 OLAP 函式 row_number 和分割槽子句。實現此目的的示例語法如下所示。delete from table where rowid in  (... query here ...)為了演示其用法,我們將首先建立樣本資料。示例 -- 包含網球運動員排名的表 DROP TABLE atp_stats; CREATE TABLE atp_stats ( player_rank NUMBER NOT NULL,   player_name VARCHAR2(100) NOT NULL,   time_range  TIMESTAMP(6)); -- 樣本記錄 ... 閱讀更多

如何在 Oracle 中查詢並刪除表中的重複項?

Kiran P
更新於 2020年12月4日 10:33:21

833 次檢視

問題陳述:您希望查詢並刪除 Oracle 中表中的重複項。解決方案:我們可以使用 Oracle 的內部 ROWID 值來唯一標識表中的行。實現此目的的示例語法如下所示。delete from table where rowid in  (... query here ...)為了演示其用法,我們將首先建立樣本資料。示例 -- 包含網球運動員排名的表 DROP TABLE atp_stats; CREATE TABLE atp_stats ( player_rank NUMBER NOT NULL,   player_name VARCHAR2(100) NOT NULL,   time_range  TIMESTAMP(6)); -- 樣本記錄 INSERT INTO atp_stats VALUES (1, 'ROGER FEDERER', CURRENT_TIMESTAMP); INSERT INTO atp_stats VALUES (2, 'RAFAEL NADAL', ... 閱讀更多

如何在執行之前驗證 Oracle 動態 SQL 的語法?

Kiran P
更新於 2020年12月4日 10:31:30

2K+ 次檢視

問題陳述:您希望在執行之前驗證 SQL 語法。解決方案:DBMS_SQL 預設包允許動態執行 SQL。它由 SYS 擁有,並使用 AUTHID CURRENT_USER 關鍵字定義,因此它以呼叫者的許可權執行。我們可以利用 DBMS_SQL.PARSE 函式來驗證語法。我們首先定義一個函式,將 SQL 語句作為引數並解析 SQL 語句。/*  * ---------------------------------------------------------------------------  *  Function : check_syntax  *    Input  : sql statement  *   Output  : Number  * ---------------------------------------------------------------------------  */    FUNCTION check_syntax     ( p_query IN CLOB ) ... 閱讀更多

如何在 Oracle 中為指定的維度的所有組合生成組小計?

Kiran P
更新於 2020年12月4日 10:27:27

189 次檢視

問題陳述:您想在 Oracle 中查詢指定維度的所有組合的小計。解決方案:CUBE 函式將為指定的維度的所有組合生成小計。“n”如果是 CUBE 中列出的列數,則將有 2n 個小計組合。我們將首先為這個需求建立必要的資料。示例 -- 刪除表 DROP TABLE atp_titles; -- 建立表 CREATE TABLE atp_titles (   player             VARCHAR2(100) NOT NULL,   title_type         VARCHAR2(100) NOT NULL,   titles             NUMBER NOT NULL);示例 -- 插入 ... 閱讀更多

如何在 Oracle 中生成組小計和總計?

Kiran P
更新於 2020年12月4日 10:24:31

4K+ 次檢視

問題陳述:您想在 Oracle 中查詢總計、小計和總計。解決方案:Oracle ROLLUP 函式在多個級別執行分組,使用從右到左的方法向上滾動到任何總計的中間級別。為了演示 ROLLUP 函式,我們將建立一個表來儲存網球運動員以及該運動員獲得的 ATP 巡迴賽冠軍和大滿貫冠軍。我們將首先為這個需求建立必要的資料。示例 -- 刪除表 DROP TABLE atp_titles; -- 建立表 CREATE TABLE atp_titles (   player             VARCHAR2(100) NOT NULL,   title_type ... 閱讀更多

如何在 Oracle 中查詢和替換文字?

Kiran P
更新於 2020年12月4日 10:20:55

6K+ 次檢視

問題陳述:您想在 Oracle 中查詢並替換字串。解決方案:函式:TRANSLATE語法:TRANSLATE(expr, from_string, to_string)Oracle 中的 TRANSLATE 函式允許您在單個操作中進行許多單字元一對一替換。但是,to_string 和 from_string 值不能為空,如果將空字串傳遞給 TRANSLATE 函式,Oracle 資料庫會將空字串解釋為 null 並返回 null。/* 將以下字串中的所有 b 替換為 j */ SELECT 'back and bill ' AS original_string         , TRANSLATE('back and bill', 'b', 'j') AS replaced_string   FROM dual;輸出back and bill   jack and ... 閱讀更多

廣告
© . All rights reserved.