11.3 DISCOVERファンクション
これはファイルの列プロファイルを検出するファンクションです。このファンクションは、parse()をコールし、生成されたファイル・プロファイルを返します。このファンクションは、最初にparse()をコールしてからget_file_profile()をコールするかわりに使用できるショートカットです。 
                  
構文
FUNCTION DISCOVER(
    p_content             IN BLOB,
    p_file_name           IN VARCHAR2,
    p_decimal_char        IN VARCHAR2                                     DEFAULT NULL,
    p_xlsx_sheet_name     IN VARCHAR2                                     DEFAULT NULL,
    p_row_selector        IN VARCHAR2                                     DEFAULT NULL,
    p_csv_row_delimiter   IN VARCHAR2                                     DEFAULT LF,
    p_csv_col_delimiter   IN VARCHAR2                                     DEFAULT NULL,
    p_csv_enclosed        IN VARCHAR2                                     DEFAULT '"',
    p_file_charset        IN VARCHAR2                                     DEFAULT 'AL32UTF8',
    p_max_rows            IN NUMBER                                       DEFAULT 200 ) RETURN CLOB;パラメータ
表11-1 DISCOVERファンクションのパラメータ
| パラメータ | 説明 | 
|---|---|
| 
                                  
  | 
                              
                                  BLOBとして解析されるファイル・コンテンツ  | 
                           
| 
                                  
  | 
                              
                                  ファイル・タイプの導出に使用されるファイルの名前。  | 
                           
| 
                                  
  | 
                              
                                  
  | 
                           
| 
                                  
  | 
                              
                                  XLSXワークブックの場合。解析するワークシートの名前。省略した場合、このファンクションは最初に検出されたワークシートを使用します。  | 
                           
| 
                                  
  | 
                              
                                  解析中にデータ型(  | 
                           
| 
                                  
  | 
                              
                                  
  | 
                           
| 
                                  
  | 
                              
                                  XLSXワークブックの場合。解析するワークシートの名前。省略した場合、このファンクションは最初に検出されたワークシートを使用します。  | 
                           
| 
                                  
  | 
                              
                                  JSONおよびXMLファイルの場合。JSONまたはXMLファイル内の行の配列/リストへのポインタ。省略した場合、このファンクションは次のように処理します。 
                                     
                              
  | 
                           
| 
                                  
  | 
                              
                                  CSV解析のデフォルトの行デリミタをオーバーライドします。  | 
                           
| 
                                  
  | 
                              
                                  CSV解析のデフォルトの行デリミタをオーバーライドします。  | 
                           
| 
                                  
  | 
                              
                                  特定のCSV列デリミタを使用します。省略した場合、ファンクションは最初の行の内容に基づいて列デリミタを検出します。  | 
                           
| 
                                  
  | 
                              
                                  CSV解析のデフォルトの囲み文字をオーバーライドします。  | 
                           
| 
                                  
  | 
                              
                                  ファイル・エンコーディング(  | 
                           
| 
                                  
  | 
                              
                                  
  | 
                           
戻り値
JSON形式のファイル・プロファイルを含むCLOBを返します。
例
select apex_data_parser.discover(
           p_content => {BLOB containing XLSX file},
           p_file_name=>'large.xlsx' ) as profile_json
from dual;
PROFILE_JSON
-----------------------------------------------------------
{
    "file-encoding" : "AL32UTF8",
    "single-row" : false,
    "file-type" : 1,
    "parsed-rows" : 2189,
    "columns" : [
       {
          "name" : "C0",
          "format-mask" : "",
          "selector" : "",
          "data-type" : 2
       },
       {
          "selector" : "",
          "format-mask" : "",
          "data-type" : 1,
          "name" : "FIRST_NAME"
       },
       {
          "name" : "LAST_NAME",
          "format-mask" : "",
          "selector" : "",
          "data-type" : 1
       },
       :
       {
          "name" : "DATE_",
          "format-mask" : "DD\"/\"MM\"/\"YYYY",
          "data-type" : 3,
          "selector" : ""
       },
       {
          "format-mask" : "",
          "selector" : "",
          "data-type" : 2,
          "name" : "ID"
       }
    ],
    "row-selector" : "",
    "headings-in-first-row" : true,
    "xslx-worksheet" : "sheet1.xml",
    "csv-delimiter" : ""
 }親トピック: APEX_DATA_PARSER