DBMS_CLOUD_REPO 子程序汇总
本节介绍自治 AI 数据库随附的 DBMS_CLOUD_REPO 子程序。
DBMS_CLOUD_REPO 软件包由以下各项组成:
Prerequisites
作为开发人员,您可以将 DBMS_CLOUD 过程与部署在 Oracle Public Cloud、Multicloud 或 Exadata Cloud@Customer 上的自治 AI 数据库结合使用。
根据部署选择,必须满足以下先决条件,才能将 DBMS_CLOUD 过程与 Amazon S3、Azure Blob Storage 和 Google Cloud Storage 服务提供商结合使用。
组管理员必须使用 NAT 网关配置出站连接,如下所述:
-
按照 Oracle Cloud Infrastructure 文档中的创建 NAT 网关中的说明,在自治 AI 数据库资源所在的虚拟云网络 (VCN) 中创建 NAT 网关。
-
创建 NAT 网关后,在自治 AI 数据库资源所在的 VCN 中添加路由规则和出站安全规则到每个子网,以便这些资源可以使用网关从 Azure AD 实例获取公钥:
-
转到子网的 Subnet Details(子网详细信息)页面。
-
在 Subnet Information(子网信息)选项卡中,单击子网的 Route Table(路由表)的名称以显示 Route Table Details(路由表详细信息)页面。
-
在现有路由规则表中,检查是否已存在具有以下特征的规则:
-
目标:0.0.0.0/0
-
目标类型:NAT 网关
-
目标:刚在 VCN 中创建的 NAT 网关的名称
如果不存在此类规则,请单击添加路由规则并添加具有这些特征的路由规则。
-
-
返回到子网的子网详细信息页面。
-
在子网的安全列表表中,单击子网的安全列表的名称以显示其安全列表详细信息页。
-
在侧边菜单的资源下,单击出站规则。
-
在现有出站规则表中,检查是否已存在具有以下特征的规则:
-
目标类型: CIDR
-
目标:0.0.0.0/0
-
IP 协议: TCP
-
源端口范围:443
-
目标端口范围:全部
如果不存在此类规则,请单击添加出站规则并添加具有这些特征的出站规则。
-
-
您的环境中的 HTTP 代理设置必须允许数据库访问云服务提供商。
这些设置由组管理员在创建 Exadata Cloud@Customer 基础结构时定义,如 Using the Console to Provision Exadata Database Service on Cloud@Customer 中所述。
注:只有在 Exadata 基础结构处于 Requires Activation 状态之前,才能编辑包括 HTTP 代理的网络配置。一旦激活,您就无法编辑这些设置。
为已预配的 Exadata 基础结构设置 HTTP 代理需要 My Oracle Support 中的服务请求 (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 |
使用指定的资料档案库提交创建新分支。 所有云提供程序都支持此参数。 如果不提供 |
范例
注:要在 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_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 句柄参数标识的 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_REPO 具有 EXECUTE 权限。
DELETE_FILE 过程
此过程从 repo 句柄参数标识的 Cloud Code 系统信息库中删除文件。
语法
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 文档形式提交详细信息
|
范例
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 或 Oracle Database 26ai PL/SQL Packages and Types Reference 中的 DBMS_METADATA:Object Types table 。 |
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_DDL 与 DBMS_CLOUD_REPO.PUT_FILE 一起使用。要获取对象的元数据定义,当前用户必须具有检索对象元数据的特权。有关程序包的安全要求,请参阅 Oracle Database 19c PL/SQL Packages and Types Reference 或 Oracle Database 26ai PL/SQL Packages and Types Reference 中的 DBMS_METADATA。
范例
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,该数组定义筛选条件以包括或排除需要导出其元数据的对象。 所有云提供程序都支持此参数。
|
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 过程和函数
该函数从 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 |
使用用户名和个人访问令牌 (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 函数
此函数初始化 Cloud Code Repository 句柄并返回不透明的 JSON 对象。此函数是一个用于接受 JSON 文档的通用接口,可避免更改代码,在将代码资料档案库从一个 Cloud Code 资料档案库移动到另一个 Cloud Code 资料档案库时,只需更改 JSON 文档。
语法
FUNCTION DBMS_CLOUD_REPO.INIT_REPO(
params IN CLOB)
RETURN CLOB;
参数
| JSON 参数 | 说明 |
|---|---|
provider |
云代码资料档案库提供方来自以下项:
|
repo_name |
指定系统信息库名称。DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
GitHub 资料档案库所有者。 此参数仅适用于 GitHub 云提供商。 |
region |
AWS 存储库区域。 此参数仅适用于 AWS 云提供商。 |
organization |
Azure 组织。 此参数仅适用于 Azure 云提供商。 |
project |
Azure 团队项目。 此参数仅适用于 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 语句。 |
使用说明
-
可以使用以下命令从 Cloud Code 资料档案库文件安装包含嵌套 SQL 的 SQL 语句:
-
@:包括一个 SQL 文件,该文件具有指向系统信息库 ROOT 的相对路径。 -
@@:包括一个 SQL 文件,该文件具有相对于当前文件的路径。
-
-
这些脚本用作方案安装脚本,而不是一般 SQL 脚本:
-
脚本不能包含 SQL*Plus 客户端特定的命令。
-
脚本不能包含绑定变量或参数化脚本。
-
SQL 语句必须以斜杠在新行 (/) 中终止。
-
脚本可以包含 DDL 和 DML PLSQL 语句,但是不支持直接
SELECT语句。支持在 PL/SQL 块中使用 SELECT。
如果任何 SQL 语句不包含绑定变量或定义,则可以使用
EXECUTE IMMEDIATE运行该语句。 -
范例
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。
如果任何 SQL 语句不包含绑定变量或定义,则可以使用
EXECUTE IMMEDIATE运行该语句。 -
范例
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
LIST_BRANCHES 函数
此函数列出由 repo 句柄参数标识的 Cloud Code Repository 分支中的分支。
语法
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 |
列出从指定 所有云提供程序都支持此参数。 如果不提供 |
示例
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 函数
此函数从 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 |
列出特定提交中的文件。 |
使用说明
-
这是返回类型为
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 文档形式提交详细信息
如果不提供 |
范例
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 句柄参数标识的 Cloud Code 系统信息库。该过程已重载,以支持从目录对象上载文件或将内容从 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 文档形式提交详细信息:
|
范例
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;
/