DBMS_CLOUD_REPO 子程式摘要
必備條件
身為開發人員,您可以將 DBMS_CLOUD 程序與部署在 Oracle Public Cloud 、多重雲端或 Exadata Cloud@Customer 上的 Autonomous Database 搭配使用。
視部署選擇而定,必須符合下列先決條件,才能將 DBMS_CLOUD 程序與 Amazon S3 、Azure Blob Storage 及 Google Cloud Storage 服務提供者搭配使用。
- 請依照 Oracle Cloud Infrastructure 文件中建立 NAT 閘道的指示,在 Autonomous Database 資源所在的虛擬雲端網路 (VCN) 中建立 NAT 閘道。
- 建立 NAT 閘道之後,請在 Autonomous Database 資源所在的每個子網路新增路由規則和傳出安全規則 (在 VCN 中),以便這些資源能夠使用此閘道從您的 Azure AD 執行處理取得公開金鑰:
- 移至子網路的子網路詳細資訊頁面。
- 在子網路資訊頁籤中,按一下子網路的路由表名稱,以顯示其路由表詳細資訊頁面。
- 在現有路由規則的表格中,檢查是否已有具有下列特性的規則:
- 目標:0.0.0.0/0
- 目標類型:NAT 閘道
- 目標:剛在 VCN 中建立的 NAT 閘道名稱
如果沒有這類規則,請按一下新增路由規則,然後新增具有這些特性的路由規則。
- 返回子網路的子網路詳細資訊頁面。
- 在子網路的安全清單表格中,按一下子網路安全清單的名稱,以顯示其安全清單詳細資訊頁面。
- 在側邊功能表的資源下,按一下傳出規則。
- 在現有傳出規則的表格中,檢查是否已有具有下列特性的規則:
- 目標類型: CIDR
- 目的地:0.0.0.0/0
- IP 協定: TCP
- 來源連接埠範圍: 443
- 目的地連接埠範圍:全部
如果該規則不存在,請按一下新增輸出規則,然後新增具有這些特性的輸出規則。
您環境中的 HTTP 代理主機設定值必須允許資料庫存取雲端服務提供者。
附註:
必須等到 Exadata 基礎架構為需要啟用狀態後,才能編輯網路組態 (包括 HTTP 代理主機)。啟用之後,您就無法編輯這些設定值。在 My Oracle Support 中設定已啟動設定之 Exadata 基礎架構的 HTTP 代理主機時,必須要有服務要求 (SR)。請參閱 在 My Oracle Support 中建立服務要求瞭解詳細資訊。
CREATE_BRANCH 程序
此程序會在「雲端程式碼儲存區域」中建立一個分支,由 repo
處理引數識別。
語法
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_commit_id |
使用指定的儲存區域確認建立新的分支。 所有雲端提供者都支援此參數。 如果您未提供 |
範例
附註:
若要在雲端程式碼儲存區域中建立分支,您必須指定父項分支或父項確認 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_REPO
的 EXECUTE
權限。
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
處理引數識別的分支。
語法
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_REPO
的 EXECUTE
權限。
DELETE_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
處理引數識別的「雲端程式碼」儲存區域。此程序是在單一步驟上傳資料庫物件的描述資料定義是一個簡單的方法。
語法
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 table 或 Oracle Database 23ai PL/SQL Packages and Types Reference 以瞭解詳細資訊。 |
object_name |
要擷取描述資料的資料庫物件名稱。 |
object_schema |
所屬的資料庫物件綱要。 |
branch_name |
將檔案放到指定的分支 。 |
commit_details |
以 JSON 文件形式確認詳細資訊: |
append |
將描述資料 DDL 附加至現有檔案。 |
使用備註
對於 DDL 物件的自訂控制項,您可以搭配使用 DBMS_METADATA.GET_DDL
與 DBMS_CLOUD_REPO.PUT_FILE
。若要取得物件的描述資料定義,目前的使用者必須具備擷取物件描述資料的權限。請參閱 Oracle Database 19c PL/SQL Packages and Types Reference 中的 DBMS_METADATA 或 Oracle Database 23ai 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 參數為:
|
branch_name |
指定儲存區域分支名稱。 所有雲端提供者都支援此參數。 如果您未提供 |
commit_details |
以 JSON 文件形式確認詳細資訊 {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } 所有雲端提供者都支援此參數。 如果您未提供 |
範例
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_REPO
的 EXECUTE
權限。
GET_FILE 程序與函數
此函數會從雲端程式碼儲存區域下載檔案的內容。此程序可讓您從「雲端程式碼」儲存區域下載檔案內容,並將檔案儲存在目錄中。
語法
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 |
指定使用「使用者名稱」和「個人存取權杖 (PAT)」之 Azure 的證明資料物件。 |
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 程序
此程序會從 Cloud Code 儲存區域中的檔案 (由 repo
處理引數識別) 安裝 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 敘述句。 |
使用注意事項
-
您可以使用下列方式,從「雲端程式碼」儲存區域檔案安裝包含巢狀 SQL 的 SQL 敘述句:
-
@
:包含一個具有儲存區域 ROOT 之相對路徑的 SQL 檔案。 -
@@
:包含一個與目前檔案相對路徑的 SQL 檔案。
-
-
命令檔是用來作為綱要安裝命令檔,而非一般 SQL 命令檔:
- 命令檔不可包含 SQL*Plus 從屬端特定命令。
- 程序檔不能包含連結變數或參數化的程序檔。
- SQL 敘述句必須在新的一行 (/) 以斜線終止。
- 命令檔可以包含 DDL、DML PLSQL 敘述句,但不支援直接
SELECT
敘述句。支援在 PL/SQL 區塊中使用 SELECT。
如果不包含連結變數或定義,可以使用
EXECUTE IMMEDIATE
執行的任何 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 敘述句。 |
使用注意事項
-
命令檔是用來作為綱要安裝命令檔,而非一般 SQL 命令檔:
- 命令檔不可包含 SQL*Plus 從屬端特定命令。
- 程序檔不能包含連結變數或參數化的程序檔。
- SQL 敘述句必須在新的一行 (/) 以斜線終止。
- 命令檔可以包含 DDL、DML PLSQL 敘述句,但不支援直接
SELECT
敘述句。支援在 PL/SQL 區塊中使用 SELECT。
如果不包含連結變數或定義,可以使用
EXECUTE IMMEDIATE
執行的任何 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_branch_ret_tab.
的管線表格函數 -
DBMS_CLOUD_REPO.LIST_BRANCHES
會傳回資料欄:name
,表示「雲端程式碼儲存區域」分支的名稱。
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 |
列出來自特定分支的確認。
所有雲端提供者都支援此參數。 如果您未提供 |
file_path |
列出儲存區域中指定之子資料夾路徑下的檔案。
此參數僅適用於 Git 和 Azure 雲端提供者。 如果您未提供 |
commit_id |
列出從指定 sha/id 開始的檔案所有雲端提供者都支援此參數。 如果您未提供 |
範例
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_commit_ret_tab.
-
DBMS_CLOUD_REPO.LIST_COMMITS
會傳回資料欄:commit_id
。
LIST_FILES 函數
此功能會從「雲端程式碼」儲存區域下載檔案。您可以選擇性地從特定分支、標記或確認名稱存取檔案內容。依照預設,會從預設儲存區域分支存取檔案。結果包括檔案名稱和其他有關檔案的描述資料。
語法
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 |
列出特定確認的檔案。 |
使用注意事項
-
這是傳回類型為
list_file_ret_tab.
的管線表格函數 -
DBMS_CLOUD_REPO.LIST_FILES
會傳回資料欄:id
、name
、url
和bytes
。
範例
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 雲端提供者支援此參數。 |
使用注意事項
-
這是傳回類型為
list_repo_ret_tab.
的管線表格函數 -
DBMS_CLOUD_REPO.LIST_REPOSITORIES
會傳回下列資料欄:id
、name
、owner
、description
、private
、url
、bytes
、created
和last_modified
。
範例
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" } } 如果您未提供 |
範例
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_REPO
的 EXECUTE
權限。
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
處理引數識別的「雲端程式碼」儲存區域。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;
/