DBMS_CLOUD_REPO 子程式摘要

本節涵蓋 Autonomous AI Database 提供的 DBMS_CLOUD_REPO 子程式。

DBMS_CLOUD_REPO 套裝軟體由下列項目組成:

必備條件

身為開發人員,您可以將 DBMS_CLOUD 程序與部署在 Oracle Public Cloud、Multicloud 或 Exadata Cloud@Customer 上的 Autonomous AI 資料庫搭配使用。

視部署選項而定,必須符合下列先決條件,才能將 DBMS_CLOUD 程序與 Amazon S3、Azure Blob Storage 及 Google Cloud Storage 服務提供者搭配使用。

CREATE_BRANCH 程序

此程序會在由 repo handle 引數識別的「雲端程式碼儲存區域」中建立分支。

語法

PROCEDURE DBMS_CLOUD_REPO.CREATE_BRANCH(
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    parent_commit_id   IN   VARCHAR2 DEFAULT NULL
 );

參數

Parameter - 參數 描述
repo

指定儲存庫控點。

此參數是所有雲端提供者的必要參數並支援。

branch_name

指定儲存庫分支名稱。

此參數是所有雲端提供者的必要參數並支援。

parent_branch_name

使用指定父項分支的標頭確認建立新分支。

所有雲端提供者都支援此參數。

如果未提供 parent_branch_name 值,則 parent_branch_name 會設為 main

parent_commit_id

使用指定的儲存區域確認建立新的分支。

所有雲端提供者都支援此參數。

如果未提供 parent_commit_id 值,則 parent_commit_id 會設為 NULL 值。

範例

注意:若要在 Cloud Code 儲存區域中建立分支,您必須指定父項分支或父項確認 ID。

BEGIN
  DBMS_CLOUD_REPO.CREATE_BRANCH (
    repo                 => l_repo,
    branch_name          => 'test_branch',
    parent_branch_name   => 'main'
    );
END;
/

用途注意事項

若要執行 DBMS_CLOUD_REPO.CREATE_BRANCH 程序,您必須以 ADMIN 使用者身分登入,或具有 DBMS_CLOUD_REPOEXECUTE 權限。

CREATE_REPOSITORY 程序

此程序會建立由 repo 控點引數識別的「雲端程式碼儲存區域」。

語法

PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY(
      repo                 IN   CLOB,
      description          IN   CLOB     DEFAULT NULL,
      private              IN   BOOLEAN  DEFAULT TRUE
);

參數

Parameter - 參數 描述
repo 指定儲存庫控點。

所有雲端提供者都支援此參數。

description 儲存庫的簡短文字描述。

GITHUB 和 AWS 雲端提供者支援此參數。

private

儲存區域為專用,且只能使用有效的證明資料存取

只有 GITHUB 雲端提供者才支援此參數。

範例

BEGIN
  DBMS_CLOUD_REPO.CREATE_REPOSITORY(
    repo        => l_repo,
    description => 'My test repo',
    private => TRUE
    );
END;
/

DELETE_BRANCH 程序

此程序會刪除由 repo 處理引數識別之 Cloud Code 儲存區域中的分支。

語法

PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo              IN  CLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL
 );

參數

Parameter - 參數 描述
repo 指定儲存庫控點。此參數是所有雲端提供者的必要參數並支援。
branch_name 從特定儲存區域刪除分支。此參數是所有雲端提供者的必要參數並支援。

範例

BEGIN
  DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo        => l_repo,
      branch_name => 'test_branch'
  );
END;
/

用途注意事項

若要執行 DBMS_CLOUD_REPO.DELETE_BRANCH 程序,您必須以 ADMIN 使用者身分登入,或具有 DBMS_CLOUD_REPOEXECUTE 權限。

DeleteE_FILE 程序

此程序會從 repo 控點引數識別的「雲端程式碼」儲存區域刪除檔案。

語法

PROCEDURE DBMS_CLOUD_REPO.DELETE_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

參數

Parameter - 參數 描述
repo 指定儲存庫控點。
file_path 儲存區域中刪除檔案的檔案路徑。
branch_name 從特定分支刪除檔案 。
commit_details

以 JSON 文件形式確認詳細資訊

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

範例

BEGIN
  DBMS_CLOUD_REPO.DELETE_FILE(
      repo        => l_repo,
      file_path   => 'scripts/test3.sql',
      branch_name => 'test_branch'
  );
END;
/

DELETE_REPOSITORY 程序

此程序會刪除由 repo 控點引數識別的「雲端程式碼儲存區域」。

語法

PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY(
      repo           IN   CLOB
);

參數

Parameter - 參數 描述
repo 指定儲存庫控點。

範例

BEGIN
  DBMS_CLOUD_REPO.DELETE_REPOSITORY(
       repo => l_repo
  );
END;
/

EXPORT_OBJECT 程序

此程序會將資料庫物件的 DDL 描述資料上傳至由 repo 處理引數識別的 Cloud Code 儲存區域。此程序是在單一步驟中上傳資料庫物件的描述資料定義是一個簡單的方法。

語法

PROCEDURE DBMS_CLOUD_REPO.EXPORT_OBJECT(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      object_type       IN  VARCHAR2,
      object_name       IN  VARCHAR2 DEFAULT NULL,
      object_schema     IN  VARCHAR2 DEFAULT NULL,
      branch_name       IN  VARCHAR2 DEFAULT NULL,
      commit_details    IN  CLOB     DEFAULT NULL,
      append            IN  BOOLEAN  DEFAULT FALSE
);

參數

Parameter - 參數 描述
repo 指定儲存庫控點。
file_path 要上傳儲存區域中物件描述資料的檔案路徑。
object_type DBMS_METADATA 支援的物件類型。請參閱 Oracle Database 19c PL/SQL Packages and Types Reference 中的 DBMS_METADATA:Object Types tableOracle Database 26ai PL/SQL Packages and Types Reference ,瞭解詳細資訊。
object_name 要擷取描述資料的資料庫物件名稱。
object_schema 資料庫物件的擁有綱要。
branch_name 將檔案放到特定的分支 。
commit_details 以 JSON 文件形式確認詳細資訊:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }
append 將中繼資料 DDL 附加至現有檔案。

用途注意事項

對於物件 DDL 的自訂控制項,您可以搭配使用 DBMS_METADATA.GET_DDLDBMS_CLOUD_REPO.PUT_FILE。若要取得物件的描述資料定義,必須將目前使用者的權限授與擷取物件描述資料。請參閱 Oracle Database 19c PL/SQL Packages and Types Reference 中的 DBMS_METADATA,或參閱 Oracle Database 26ai PL/SQL Packages and Types Reference ,瞭解套裝程式的安全性需求。

範例

BEGIN
  DBMS_CLOUD_REPO.EXPORT_OBJECT(
     repo        => l_repo,
     object_type => 'PACKAGE',
     object_name => 'MYPACK',
     file_path   => 'mypack.sql'
  );
END;
/

EXPORT_SCHEMA 程序

此程序會將綱要中所有物件的描述資料匯出至由 repo 處理引數識別的「雲端程式碼儲存區域」分支。

語法

PROCEDURE DBMS_CLOUD_REPO.EXPORT_SCHEMA(
     repo            IN CLOB,
     file_path       IN VARCHAR2,
     schema_name     IN VARCHAR2,
     filter_list     IN CLOB         DEFAULT NULL,
     branch_name     IN VARCHAR2     DEFAULT NULL,
     commit_details  IN CLOB         DEFAULT NULL
);

參數

Parameter - 參數 描述
repo

指定儲存庫控點。

此參數是所有雲端提供者的必要參數並支援。

file_path

指定要上傳至儲存區域之綱要檔案的名稱。

此參數是所有雲端提供者的必要參數並支援。

schema_name

指定要將 DDL 命令檔上傳至「雲端程式碼儲存區域」分支的綱要名稱。

此參數是所有雲端提供者的必要參數並支援。

filter_list

指定 JSON 陣列的 CLOB,此陣列定義篩選條件以包含或排除需要匯出其描述資料的物件。

所有雲端提供者都支援此參數。

filter_list 的 JSON 參數為:

  • match_type:指定要套用至物件類型或物件名稱的篩選類型。有效的 match_type 值為:

    • in/not_in

    • like/not_like

    • equal/not_equal

  • type:指定要篩選的物件類型。

  • name:指定要篩選的物件名稱。

branch_name

指定儲存庫分支名稱。

所有雲端提供者都支援此參數。

如果您未提供 branch_name 值,則會將 branch_name 設為預設儲存區域分支。

commit_details

以 JSON 文件形式確認詳細資訊

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

所有雲端提供者都支援此參數。

如果您未提供 commit_details 值,則會將 commit_details 設為預設確認訊息,其中包含執行確認之目前資料庫階段作業使用者和資料庫名稱的相關資訊。

範例

BEGIN
  DBMS_CLOUD_REPO.EXPORT_SCHEMA(
    repo          => l_repo,
    schema_name   => 'USER1',
    file_path     => 'myschema_ddl.sql'
    filter_list   =>
        to_clob('[
             { "match_type":"equal",
                 "type":"table"
             },
             { "match_type":"not_equal",
                 "type":"view"
             },
             { "match_type":"in",
                 "type":"table",
                 "name": " ''EMPLOYEE_SALARY'',''EMPLOYEE_ADDRESS'' "
             },
             { "match_type":"equal",
                 "type":"sequence",
                 "name": "EMPLOYEE_RECORD_SEQ"
             },
             { "match_type":"like",
                 "type":"table",
                 "name": "%OFFICE%"
             }
        ]'
     );
  );
END;
/

用途注意事項

若要執行 DBMS_CLOUD_REPO.EXPORT_SCHEMA 程序,您必須以 ADMIN 使用者身分登入,或具有 DBMS_CLOUD_REPOEXECUTE 權限。

GET_FILE 程序和函數

此函數會從 Cloud Code 儲存區域下載檔案的內容。此程序可讓您從 Cloud Code 儲存區域下載檔案的內容,並將檔案儲存在目錄中。

語法

FUNCTION DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
) RETURN CLOB;

PROCEDURE DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      target_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
);

參數

Parameter - 參數 描述
repo 指定儲存庫控點。
file_path 儲存區域中的檔案路徑。
directory_name 儲存檔案內容的目錄物件名稱 。
target_file_name 要將內容儲存在目錄的目標檔案名稱。
branch_name 從特定分支取得檔案 。
tag_name 從特定標籤取得檔案。
commit_name 從特定確認中取得檔案。

範例

BEGIN
  DBMS_CLOUD_REPO.GET_FILE(
     repo             =>  l_repo,
     file_path        => 'test3.sql',
     directory_name   => 'DATA_PUMP_DIR',
     target_file_name => 'test2.sql'
  );
END;
/

INIT_AWS_REPO 函數

此函數會起始 AWS 儲存區域處理並傳回不通透類型。

語法

FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      region          IN  VARCHAR2
)  RETURN repo;

參數

Parameter - 參數 描述
credential_name 指定 AWS CodeCommit accesskey/secretkey 的證明資料物件。
repo_name 指定儲存庫名稱。
region 指定 CodeCommit 儲存區域的 AWS 區域。

範例

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AWS_REPO(
                 credential_name => 'AWS_CRED',
                 repo_name       => 'my_repo',
                 region          => 'us-east-1'
           );
END;
/

INIT_AZURE_REPO 函數

此函數會起始 Azure 儲存區域處理並傳回不通透類型。唯有 Azure 雲端提供者支援此函數。

語法

FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      organization    IN  VARCHAR2,
      project         IN  VARCHAR2
)  RETURN repo;

參數

Parameter - 參數 描述
credential_name 指定 Azure、使用者名稱和個人存取權杖 (PAT) 的證明資料物件。
repo_name 指定儲存庫名稱。
organization 指定 Azure DevOps 組織。
project Azure 小組專案名稱。

範例

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO(
                 credential_name => 'AZURE_CRED',
                 repo_name       => 'my_repo',
                 organization    => 'myorg',
                 project         => 'myproj',
           );
END;
/

INIT_GITHUB_REPO 函數

此函數會起始 GitHub 儲存區域控制碼並傳回不通透類型。

語法

FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
      credential_name IN  VARCHAR2  DEFAULT NULL,
      repo_name       IN  VARCHAR2,
      owner           IN  VARCHAR2)
RETURN repo;

參數

Parameter - 參數 描述
credential_name

指定 GitHub 的證明資料物件。

使用者電子郵件與個人存取權杖 (PAT)。

repo_name 指定儲存庫名稱。
owner 指定儲存區域擁有者。

範例

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
                 credential_name => 'GITHUB_CRED',
                 repo_name       => 'my_repo',
                 owner           => 'foo'
           );
END;
/

INIT_REPO 函數

此函數會起始「雲端程式碼儲存區域」處理並傳回不通透的 JSON 物件。此函數是接受 JSON 文件的一般介面,而且在將程式碼儲存區域從一個雲端程式碼儲存區域移至另一個雲端程式碼儲存區域時,您只需要變更 JSON 文件,即可避免變更程式碼。

語法

FUNCTION DBMS_CLOUD_REPO.INIT_REPO(
     params      IN   CLOB)
RETURN CLOB;

參數

JSON 參數 描述
provider

下列雲端程式碼儲存區域提供者:

DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB')

DBMS_CLOUD_REPO.AWS_REPO ('AWS')

DBMS_CLOUD_REPO.AZURE_REPO ('AZURE')

repo_name 指定儲存庫名稱。DBMS_CLOUD_REPO.PARAM_REPO_NAME
owner

GitHub 儲存區域擁有者。DBMS_CLOUD_REPO.PARAM_OWNER

此參數僅適用於 GitHub 雲端提供者。

region

AWS 儲存區域區域。DBMS_CLOUD_REPO_PARAM_REGION

此參數僅適用於 AWS 雲端提供者。

organization

Azure 組織。DBMS_CLOUD_REPO_PARAM_ORGANIZATION

此參數僅適用於 Azure 雲端提供者。

project

Azure 團隊專案。DBMS_CLOUD_REPO_PARAM_PROJECT

此參數僅適用於 Azure 雲端提供者。

範例

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_REPO(
          params => JSON_OBJECT('credential_name' value 'mycred',
                        'repo_name'       value 'myrepo',
                        'repo_owner'      value 'foo')
       );
END;
/

INSTALL_FILE 程序

此程序會從由 repo handle 引數識別之 Cloud Code 儲存區域中的檔案安裝 SQL 敘述句。

語法

PROCEDURE DBMS_CLOUD_REPO.INSTALL_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL,
      stop_on_error     IN  BOOLEAN   DEFAULT TRUE
);

參數

Parameter - 參數 描述
repo 指定儲存庫控點。
file_path 儲存區域中的檔案路徑。
branch_name 從特定分支安裝檔案的分支。
tag_name 從特定標籤安裝檔案的標籤。
commit_name 從特定確認安裝檔案的確認 ID。
stop_on_error 第一次發生錯誤時停止執行 SQL 敘述句。

使用注意事項

範例

BEGIN
     DBMS_CLOUD_REPO.INSTALL_FILE(
         repo          => l_repo,
         file_path     => 'test3.sql',
         stop_on_error => FALSE
     );
END;
/

INSTALL_SQL 程序

此程序會從指定作為輸入的緩衝區安裝 SQL 敘述句。

語法

PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL(
      content           IN  CLOB,
      stop_on_error     IN  BOOLEAN  DEFAULT TRUE
);

參數

Parameter - 參數 描述
content CLOB 包含要執行的 SQL 敘述句。
stop_on_error 第一次發生錯誤時停止執行 SQL 敘述句。

使用注意事項

範例

BEGIN
  DBMS_CLOUD_REPO.INSTALL_SQL(
      content   => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
      stop_on_error => FALSE
  );
END;
/

LIST_BRANCHES 函數

此函數會列出由 repo 控點引數識別之「雲端程式碼儲存區域」分支中的分支。

語法

FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES(
    repo           IN   CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;

參數

Parameter - 參數 描述
repo 指定儲存庫控點。此參數是所有雲端提供者的必要參數並支援。

範例

SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES (repo => l_repo);

使用注意事項

LIST_COMMITS 函數

此函數會列出由 repo 處理引數識別之「雲端程式碼儲存區域」分支中的確認項目。

語法

FUNCTION DBMS_CLOUD_REPO.LIST_COMMITS(
      repo              IN  CLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      file_path         IN  VARCHAR2 DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_commit_ret_tab PIPELINED PARALLEL_ENABLE;

參數

Parameter - 參數 描述
repo

指定儲存庫控點。

此參數是所有雲端提供者的必要參數並支援。

branch_name

列出來自特定分支的確認項目。

所有雲端提供者都支援此參數。

如果未提供 branch_name 值,則 branch_name 會設為 main

file_path

列出儲存區域中指定子資料夾路徑下的檔案。

只有 Git 和 Azure 雲端提供者才支援此參數。

如果未提供 file_path 值,則 file_path 會設為 NULL 值。

commit_id

列出從指定 sha/id 開始的檔案

所有雲端提供者都支援此參數。

如果未提供 commit_id 值,則 commit_id 會設為 NULL 值。

範例

SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS(repo => l_repo);
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS (
    repo        => l_repo,
    commit_id   => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
    file_path   => 'sub_dir/test11.sql'
);

使用注意事項

LIST_FILES 函數

此函數會從 Cloud Code 儲存區域下載檔案。您可以選擇性地從特定分支、標記或確認名稱存取檔案內容。依照預設,會從預設儲存區域分支存取檔案。結果會包含檔案名稱以及與檔案相關的其他描述資料。

語法

FUNCTION DBMS_CLOUD_REPO.LIST_FILES(
      repo              IN  CLOB,
      path              IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_file_ret_tab PIPELINED PARALLEL_ENABLE;

參數

Parameter - 參數 描述
repo 指定儲存庫控點。
path 列出儲存區域中指定子資料夾路徑下的檔案。
branch_name 列出特定分支的檔案 。
tag_name 列出特定標籤中的檔案。
commit_name 從特定確認列出檔案。

使用注意事項

範例

SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES(repo => l_repo);
NAME
-------------------------
test3.sql

LIST_REPOSITORIES 函數

此函數會列出 repo 控點引數識別的所有「雲端程式碼儲存區域」。結果包括儲存區域名稱和儲存區域的其他描述資料。

語法

FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES(
      repo                 IN   CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;

參數

Parameter - 參數 描述
repo

指定儲存庫控點。

所有雲端提供者都支援此參數。

description

儲存庫的簡短文字描述。

此參數支援 GITHUB 和 AWS 雲端提供者。

private

儲存區域為專用,且只能使用有效的證明資料存取

GITHUB 雲端提供者支援此參數。

使用注意事項

範例

SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES(:repo);
NAME                  DESCRIPTION
--------------------- ---------------
TestRepo1             My test repo

MERGE_BRANCH 程序

此程序會將儲存區域分支合併至由 repo 處理引數識別之「雲端程式碼儲存區域」中的另一個指定分支。Azure 目前不支援 MERGE_BRANCH 程序。

語法

PROCEDURE DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    commit_details     IN   CLOB      DEFAULT NULL
 );

參數

Parameter - 參數 描述
repo

指定儲存庫控點。

GITHUB 和 AWS 雲端提供者必須要有此參數且支援此參數。

branch_name

指定要合併的 Git 分支名稱。

此參數是所有雲端提供者的必要參數並支援。

target_branch_name

指定要合併的目標分支名稱。

此參數是所有雲端提供者的必要參數並支援。

commit_details

以 JSON 文件形式確認詳細資訊

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

如果您未提供 commit_details 值,則會將 commit_details 設為預設確認訊息,其中包含執行確認之目前資料庫階段作業使用者和資料庫名稱的相關資訊。

範例

BEGIN
  DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               => l_repo,
    branch_name        => 'test_branch',
    target_branch_name => 'main'
    );
END;
/

用途注意事項

若要執行 DBMS_CLOUD_REPO.MERGE_BRANCH 程序,您必須以 ADMIN 使用者身分登入,或具有 DBMS_CLOUD_REPOEXECUTE 權限。

PUT_FILE 程序

此程序會將檔案上傳至由 repo 處理引數識別的「雲端程式碼」儲存區域。此程序超載以支援從目錄物件上傳檔案或從 BLOB 上傳內容至儲存庫檔案。

語法

PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      contents          IN  BLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);
PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      source_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

參數

Parameter - 參數 描述
repo 指定儲存庫控點。
file_path 儲存區域中上傳檔案的檔案路徑。
contents 包含檔案內容的 BLOB。
directory_name 包含檔案名稱的目錄物件名稱。
source_file_name 要上傳至儲存區域的來源檔案名稱。
branch_name 將檔案放到特定的分支 。
commit_details

以 JSON 文件形式確認詳細資訊:

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

範例

BEGIN
  DBMS_CLOUD_REPO.PUT_FILE(
     repo   => l_repo,
  );
END;
/

UPDATE_REPOSITORY 程序

此程序會更新由 repo 控點引數識別的 Cloud Code 儲存區域。UPDATE_REPOSITORY 支援更新「雲端程式碼」儲存區域支援的名稱、描述或專用可見性狀態。

語法

PROCEDURE DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
      repo                 IN OUT  CLOB,
      new_name             IN      VARCHAR2 DEFAULT NULL,
      description          IN      CLOB     DEFAULT NULL,
      private              IN      BOOLEAN  DEFAULT NULL
);

參數

Parameter - 參數 描述
repo 指定儲存庫控點。所有雲端提供者都支援此參數。
new_name 儲存區域的新名稱。所有雲端提供者都支援此參數。
description 儲存區域的簡短文字描述。GITHUB 和 AWS 雲端提供者支援此參數。
private

儲存區域為專用,而且只能使用有效的證明資料存取。

GITHUB 雲端提供者支援此參數。

範例

BEGIN
  DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
     repo        => l_repo,
     new_name    => 'repo2'
  );
END;
/

相關內容

關於 DBMS_CLOUD_REPO