DBMS_CLOUD_REPO Unterprogramme - Übersicht

In diesem Abschnitt werden die DBMS_CLOUD_REPO-Unterprogramme behandelt, die mit der autonomen KI-Datenbank bereitgestellt werden.

Das Package DBMS_CLOUD_REPO besteht aus:

Voraussetzungen

Als Entwickler können Sie DBMS_CLOUD-Prozeduren mit autonomen KI-Datenbanken verwenden, die in Oracle Public Cloud, Multicloud oder Exadata Cloud@Customer bereitgestellt sind.

Abhängig von der Bereitstellungsoption müssen die folgenden Voraussetzungen erfüllt sein, um die DBMS_CLOUD-Prozeduren mit Amazon S3-, Azure Blob Storage- und Google Cloud Storage-Serviceprovidern zu verwenden.

CREATE_BRANCH Prozedur

Mit dieser Prozedur wird eine Verzweigung im Cloudcode-Repository erstellt, das durch das Handle-Argument repo identifiziert wird.

Syntax

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

Parameter Beschreibung
repo

Gibt das Repository-Handle an.

Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

branch_name

Gibt den Namen der Repository-Verzweigung an.

Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

parent_branch_name

Erstellt die neue Verzweigung mit dem Head Commit der angegebenen übergeordneten Verzweigung.

Dieser Parameter wird für alle Cloud-Provider unterstützt.

Wenn Sie keinen parent_branch_name-Wert angeben, wird parent_branch_name auf main gesetzt.

parent_commit_id

Erstellt die neue Verzweigung mit dem angegebenen Repository Commit.

Dieser Parameter wird für alle Cloud-Provider unterstützt.

Wenn Sie keinen parent_commit_id-Wert angeben, wird parent_commit_id auf einen NULL-Wert gesetzt.

Beispiel

Hinweis: Um eine Verzweigung in einem Cloud Code-Repository zu erstellen, müssen Sie die übergeordnete Verzweigung oder die übergeordnete Commit-ID angeben.

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

Hinweis zur Verwendung

Um die Prozedur DBMS_CLOUD_REPO.CREATE_BRANCH auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder über die Berechtigung EXECUTE für DBMS_CLOUD_REPO verfügen.

CREATE_REPOSITORY-Prozedur

Mit dieser Prozedur wird ein Cloudcode-Repository erstellt, das durch das repo-Handle-Argument identifiziert wird.

Syntax

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

Parameter

Parameter Beschreibung
repo Gibt das Repository-Handle an.

Dieser Parameter wird für alle Cloud-Provider unterstützt.

description Eine kurze Textbeschreibung für das Repository.

Dieser Parameter wird für GITHUB und AWS Cloud Provider unterstützt.

private

Repository ist privat und nur mit gültigen Zugangsdaten zugänglich

Dieser Parameter wird nur für den GITHUB-Cloudprovider unterstützt.

Beispiel

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

DELETE_BRANCH-Prozedur

Mit dieser Prozedur wird eine Verzweigung im Cloudcode-Repository gelöscht, das durch das Handle-Argument repo identifiziert wird.

Syntax

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

Parameter

Parameter Beschreibung
repo Gibt das Repository-Handle an. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.
branch_name Verzweigung aus einem bestimmten Repository löschen. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

Beispiel

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

Hinweis zur Verwendung

Um die Prozedur DBMS_CLOUD_REPO.DELETE_BRANCH auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder über die Berechtigung EXECUTE für DBMS_CLOUD_REPO verfügen.

Prozedur DELETE_FILE

Mit dieser Prozedur wird eine Datei aus dem Cloudcode-Repository gelöscht, das durch das Handle-Argument repo identifiziert wird.

Syntax

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

Parameter Beschreibung
repo Gibt das Repository-Handle an.
file_path Dateipfad zum Löschen der Datei im Repository.
branch_name Datei aus einer bestimmten Verzweigung löschen.
commit_details

Commit-Details als JSON-Dokument

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

Beispiel

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

Prozedur DELETE_REPOSITORY

Mit dieser Prozedur wird das Cloudcode-Repository gelöscht, das durch das Handle-Argument repo identifiziert wird.

Syntax

PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY(
      repo           IN   CLOB
);

Parameter

Parameter Beschreibung
repo Gibt das Repository-Handle an.

Beispiel

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

Prozedur EXPORT_OBJECT

Mit dieser Prozedur werden die DDL-Metadaten eines Datenbankobjekts in das Cloudcode-Repository hochgeladen, das durch das Handle-Argument repo identifiziert wird. Mit dieser Prozedur können Sie die Metadatendefinition eines Datenbankobjekts in einem einzigen Schritt hochladen.

Syntax

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

Parameter Beschreibung
repo Gibt das Repository-Handle an.
file_path Dateipfad zum Hochladen von Objektmetadaten im Repository.
object_type Von DBMS_METADATA unterstützter Objekttyp. Weitere Einzelheiten finden Sie unter DBMS_METADATA: Objekttypen-Tabelle in der Referenz zu Oracle Database 19c PL/SQL-Packages und -Typen oder in der Oracle Database 26ai PL/SQL Packages and Types Reference.
object_name Name des Datenbankobjekts, das Metadaten abrufen soll.
object_schema Eigentümerschema des Datenbankobjekts.
branch_name Datei in eine bestimmte Verzweigung einfügen.
commit_details Commit-Details als JSON-Dokument:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }
append Metadaten-DDL an vorhandene Datei anhängen.

Hinweis zur Verwendung

Für die benutzerdefinierte Kontrolle der Objekt-DDL können Sie DBMS_METADATA.GET_DDL zusammen mit DBMS_CLOUD_REPO.PUT_FILE verwenden. Um die Metadatendefinition des Objekts abzurufen, muss der aktuelle Benutzer berechtigt sein, die Objektmetadaten abzurufen. Informationen zu den Sicherheitsanforderungen des Packages finden Sie unter DBMS_METADATA in der Oracle Database 19c PL/SQL Packages and Types Reference oder unter Oracle Database 26ai PL/SQL Packages and Types Reference.

Beispiel

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

Prozedur EXPORT_SCHEMA

Diese Prozedur exportiert Metadaten aller Objekte in einem Schema in die Cloud Code Repository-Verzweigung, die durch das Handle-Argument repo identifiziert wird.

Syntax

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

Parameter Beschreibung
repo

Gibt das Repository-Handle an.

Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

file_path

Gibt den Namen der Schemadatei an, die in das Repository hochgeladen werden soll.

Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

schema_name

Gibt den Namen des Schemas an, für das ein DDL-Skript in die Cloudcode-Repository-Verzweigung hochgeladen werden soll.

Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

filter_list

Gibt das CLOB des JSON-Arrays an, das die Filterbedingungen zum Ein- oder Ausschließen der Objekte definiert, deren Metadaten exportiert werden müssen.

Dieser Parameter wird für alle Cloud-Provider unterstützt.

JSON-Parameter für filter_list sind:

  • match_type: Gibt den Filtertyp an, der auf die Objekttypen oder Objektnamen angewendet werden soll. Gültige match_type-Werte sind:

    • in/not_in

    • like/not_like

    • equal/not_equal

  • type: Gibt den Objekttyp an, nach dem gefiltert werden soll.

  • name: Gibt den Namen des Objekts an, nach dem gefiltert werden soll.

branch_name

Gibt den Namen der Repository-Verzweigung an.

Dieser Parameter wird für alle Cloud-Provider unterstützt.

Wenn Sie keinen branch_name-Wert angeben, wird branch_name auf die Standard-Repository-Verzweigung gesetzt.

commit_details

Commit-Details als JSON-Dokument

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

Dieser Parameter wird für alle Cloud-Provider unterstützt.

Wenn Sie keinen commit_details-Wert angeben, wird commit_details auf die Standard-Commit-Meldung gesetzt, die Informationen zum aktuellen Datenbanksessionbenutzer und zum Datenbanknamen enthält, der den Commit ausführt.

Beispiel

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;
/

Hinweis zur Verwendung

Um die Prozedur DBMS_CLOUD_REPO.EXPORT_SCHEMA auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder über die Berechtigung EXECUTE für DBMS_CLOUD_REPO verfügen.

GET_FILE Prozedur und Funktion

Die Funktion lädt den Inhalt einer Datei aus dem Cloudcode-Repository herunter. Mit diesem Verfahren können Sie den Inhalt einer Datei aus dem Cloud Code-Repository herunterladen und die Datei in einem Verzeichnis speichern.

Syntax

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

Parameter Beschreibung
repo Gibt das Repository-Handle an.
file_path Dateipfad im Repository.
directory_name Verzeichnisobjektname, um den Dateiinhalt zu speichern.
target_file_name Zieldateiname zum Speichern des Inhalts im Verzeichnis.
branch_name Datei aus einer bestimmten Verzweigung abrufen.
tag_name Datei aus einem bestimmten Tag abrufen.
commit_name Datei aus einem bestimmten Commit abrufen.

Beispiel

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 (Funktion)

Diese Funktion initialisiert ein AWS-Repository-Handle und gibt einen undurchsichtigen Typ zurück.

Syntax

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

Parameter

Parameter Beschreibung
credential_name Zugangsdatenobjekt, das AWS CodeCommit accesskey/secretkey angibt.
repo_name Gibt den Repository-Namen an.
region Gibt die AWS-Region für das CodeCommit-Repository an.

Beispiel

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

INIT_AZURE_REPO (Funktion)

Diese Funktion initialisiert ein Azure-Repository-Handle und gibt einen undurchsichtigen Typ zurück. Diese Funktion wird nur für Azure-Cloud-Provider unterstützt.

Syntax

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

Parameter

Parameter Beschreibung
credential_name Zugangsdatenobjekt, das Azure mit einem Benutzernamen und einem persönlichen Zugriffstoken (PAT) angibt.
repo_name Gibt den Repository-Namen an.
organization Gibt die Azure DevOps-Organisation an.
project Azure-Teamprojektname.

Beispiel

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

INIT_GITHUB_REPO (Funktion)

Diese Funktion initialisiert ein GitHub-Repository-Handle und gibt einen undurchsichtigen Typ zurück.

Syntax

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

Parameter

Parameter Beschreibung
credential_name

Zugangsdatenobjekt, das GitHub angibt.

Benutzer-E-Mail und persönliches Zugriffstoken (PAT).

repo_name Gibt den Repository-Namen an.
owner Gibt den Repository-Eigentümer an.

Beispiel

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

INIT_REPO (Funktion)

Diese Funktion initialisiert ein Cloud Code Repository-Handle und gibt ein undurchsichtiges JSON-Objekt zurück. Diese Funktion ist eine generische Schnittstelle, mit der ein JSON-Dokument akzeptiert wird. Sie müssen den Code nicht ändern. Sie müssen nur ein JSON-Dokument ändern, wenn Sie ein Code-Repository von einem Cloud Code-Repository in ein anderes Cloud Code-Repository verschieben.

Syntax

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

Parameter

JSON-Parameter Beschreibung
provider

Cloud-Code-Repository-Provider von:

DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB')

DBMS_CLOUD_REPO.AWS_REPO ('AWS')

DBMS_CLOUD_REPO.AZURE_REPO ('AZURE')

repo_name Gibt den Repository-Namen an. DBMS_CLOUD_REPO.PARAM_REPO_NAME
owner

Eigentümer des GitHub-Repositorys.DBMS_CLOUD_REPO.PARAM_OWNER

Dieser Parameter gilt nur für GitHub-Cloud-Provider.

region

AWS-Repository-Region.DBMS_CLOUD_REPO_PARAM_REGION

Dieser Parameter gilt nur für AWS-Cloud-Provider.

organization

Azure-Organisation.DBMS_CLOUD_REPO_PARAM_ORGANIZATION

Dieser Parameter gilt nur für Azure-Cloud-Provider.

project

Azure-Teamprojekt.DBMS_CLOUD_REPO_PARAM_PROJECT

Dieser Parameter gilt nur für Azure-Cloud-Provider.

Beispiel

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

Prozedur INSTALL_FILE

Mit dieser Prozedur werden SQL-Anweisungen aus einer Datei im Cloud Code-Repository installiert, das durch das Handle-Argument repo identifiziert wird.

Syntax

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

Parameter Beschreibung
repo Gibt das Repository-Handle an.
file_path Dateipfad im Repository.
branch_name Verzweigung zum Installieren der Datei aus einer bestimmten Verzweigung.
tag_name Tag für die Installation der Datei von einem bestimmten Tag.
commit_name Commit-ID zur Installation der Datei von einem bestimmten Commit.
stop_on_error Stoppen Sie die Ausführung der SQL-Anweisungen beim ersten Fehler.

Verwendungshinweise

Beispiel

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

INSTALL_SQL-Prozedur

Diese Prozedur installiert SQL-Anweisungen aus einem als Eingabe angegebenen Puffer.

Syntax

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

Parameter

Parameter Beschreibungen
content Das CLOB, das die auszuführenden SQL-Anweisungen enthält.
stop_on_error Stoppen Sie die Ausführung der SQL-Anweisungen beim ersten Fehler.

Verwendungshinweise

Beispiel

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

Funktion LIST_BRANCHES

Diese Funktion listet Verzweigungen in der Cloudcode-Repository-Verzweigung auf, die durch das Handle-Argument repo identifiziert werden.

Syntax

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

Parameter

Parameter Beschreibung
repo Gibt das Repository-Handle an. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

Beispiel

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

Verwendungshinweise

LIST_COMMITS-Funktion

Diese Funktion listet Commits in der Cloud Code Repository-Verzweigung auf, die durch das Handle-Argument repo identifiziert wird.

Syntax

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

Parameter Beschreibung
repo

Gibt das Repository-Handle an.

Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

branch_name

Listet Commits aus einer bestimmten Verzweigung auf.

Dieser Parameter wird für alle Cloud-Provider unterstützt.

Wenn Sie keinen branch_name-Wert angeben, wird branch_name auf main gesetzt.

file_path

Dateien unter dem angegebenen Unterordnerpfad im Repository auflisten.

Dieser Parameter wird nur für Git- und Azure-Cloud-Provider unterstützt.

Wenn Sie keinen file_path-Wert angeben, wird file_path auf einen NULL-Wert gesetzt.

commit_id

Listet Dateien ab dem angegebenen sha/id auf

Dieser Parameter wird für alle Cloud-Provider unterstützt.

Wenn Sie keinen commit_id-Wert angeben, wird commit_id auf einen NULL-Wert gesetzt.

Beispiele

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'
);

Verwendungshinweise

Funktion LIST_FILES

Diese Funktion lädt eine Datei aus dem Cloudcode-Repository herunter. Optional kann über einen bestimmten Verzweigungs-, Tag- oder Commit-Namen auf den Dateiinhalt zugegriffen werden. Standardmäßig wird über die Standard-Repository-Verzweigung auf die Datei zugegriffen. Die Ergebnisse umfassen die Dateinamen und zusätzliche Metadaten zu den Dateien.

Syntax

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

Parameter Beschreibung
repo Gibt das Repository-Handle an.
path Listet Dateien unter dem angegebenen Unterordnerpfad im Repository auf.
branch_name Dateien aus einer bestimmten Verzweigung auflisten.
tag_name Listen Sie Dateien aus einem bestimmten Tag auf.
commit_name Dateien aus einem bestimmten Commit auflisten.

Verwendungshinweise

Beispiel

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

LIST_REPOSITORIES-Funktion

Diese Funktion listet alle Cloudcode-Repositorys auf, die durch das Handle-Argument repo identifiziert werden. Die Ergebnisse umfassen die Repository-Namen und zusätzliche Metadaten zu den Repositorys.

Syntax

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

Parameter

Parameter Beschreibung
repo

Gibt das Repository-Handle an.

Dieser Parameter wird von allen Cloud-Providern unterstützt.

description

Eine kurze Textbeschreibung für das Repository.

Dieser Parameter wird von den GITHUB- und AWS-Cloud-Anbietern unterstützt.

private

Repository ist privat und nur mit gültigen Zugangsdaten zugänglich

Dieser Parameter wird für den GITHUB-Cloudprovider unterstützt.

Verwendungshinweise

Beispiel

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

MERGE_BRANCH Prozedur

Diese Prozedur führt eine Repository-Verzweigung mit einer anderen angegebenen Verzweigung im Cloudcode-Repository zusammen, das durch das Handle-Argument repo identifiziert wird. Die Prozedur MERGE_BRANCH wird derzeit in Azure nicht unterstützt.

Syntax

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

Parameter Beschreibung
repo

Gibt das Repository-Handle an.

Dieser Parameter ist obligatorisch und wird für GITHUB- und AWS-Cloud-Provider unterstützt.

branch_name

Gibt den Git-Verzweigungsnamen an, der zusammengeführt werden soll.

Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

target_branch_name

Gibt den Zielverzweigungsnamen an, in den die Zusammenführung erfolgen soll.

Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt.

commit_details

Commit-Details als JSON-Dokument

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

Wenn Sie keinen commit_details-Wert angeben, wird commit_details auf die Standard-Commit-Meldung gesetzt, die Informationen zum aktuellen Datenbanksessionbenutzer und zum Datenbanknamen enthält, der den Commit ausführt.

Beispiel

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

Hinweis zur Verwendung

Um die Prozedur DBMS_CLOUD_REPO.MERGE_BRANCH auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder über die Berechtigung EXECUTE für DBMS_CLOUD_REPO verfügen.

Prozedur PUT_FILE

Mit dieser Prozedur wird eine Datei in das Cloudcode-Repository hochgeladen, das durch das Handle-Argument repo identifiziert wird. Die Prozedur wird überlastet, um das Hochladen einer Datei aus einem Directory-Objekt oder das Hochladen des Inhalts aus einem BLOB in die Repository-Datei zu unterstützen.

Syntax

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

Parameter Beschreibung
repo Gibt das Repository-Handle an.
file_path Dateipfad zum Hochladen der Datei im Repository.
contents BLOB mit dem Dateiinhalt.
directory_name Verzeichnisobjektname mit dem Dateinamen.
source_file_name Quelldateiname für den Upload in das Repository.
branch_name Datei in eine bestimmte Verzweigung einfügen.
commit_details

Commit-Details als JSON-Dokument:

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

Beispiel

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

Prozedur UPDATE_REPOSITORY

Mit dieser Prozedur wird ein Cloudcode-Repository aktualisiert, das durch das repo-Handle-Argument identifiziert wird. UPDATE_REPOSITORY unterstützt die Aktualisierung des Namens, der Beschreibung oder des privaten Sichtbarkeitsstatus, wie vom Cloud Code-Repository unterstützt.

Syntax

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

Parameter Beschreibung
repo Gibt das Repository-Handle an. Dieser Parameter wird für alle Cloud-Provider unterstützt.
new_name Neuer Name für Repository. Dieser Parameter wird für alle Cloud-Provider unterstützt.
description Eine kurze Textbeschreibung für das Repository. Dieser Parameter wird für GITHUB- und AWS-Cloud-Provider unterstützt.
private

Repository ist privat und nur mit gültigen Zugangsdaten zugänglich.

Dieser Parameter wird für den GITHUB-Cloudprovider unterstützt.

Beispiel

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

Verwandte Inhalte

Info über DBMS_CLOUD_REPO