Crea e gestisce gruppi collegamenti ipertestuali tabella

I gruppi di collegamenti ipertestuali tabella consentono di accedere ai dati da più oggetti o da più istruzioni di selezione SQL tramite un singolo URL. L'utilizzo di un gruppo di collegamenti ipertestuali tabella semplifica il recupero dei dati consolidando le informazioni provenienti da vari oggetti in un unico punto di accesso (URL).

Crea gruppo collegamenti ipertestuali tabella

Mostra la procedura per creare un gruppo di collegamenti ipertestuali tabella che fornisce l'accesso a più collegamenti ipertestuali tabella con un singolo URL.

Quando si accede a un gruppo di collegamenti ipertestuali tabella, vengono utilizzati i privilegi concessi all'utente del database che crea il gruppo di collegamenti ipertestuali tabella. L'utente che crea un gruppo di collegamenti ipertestuali tabella deve disporre dei privilegi minimi necessari per fornire l'accesso ai dati. Per garantire la sicurezza, Oracle consiglia di non eseguire DBMS_DATA_ACCESS.CREATE_URL come utente ADMIN.

Per creare un gruppo di collegamenti ipertestuali tabella, procedere come segue.

  1. Identificare gli oggetti (tabelle o viste) e le istruzioni SELECT contenenti le informazioni che si desidera condividere.
  2. Eseguire DBMS_DATA_ACCESS.CREATE_URL per generare il gruppo di collegamenti ipertestuali tabella.

    Ad esempio:

    DECLARE
       status CLOB;
       BEGIN
          DBMS_DATA_ACCESS.CREATE_URL(
              sqls => '[{"name": "employee", "description": "employee description", "schema_name":"SCOTT", "schema_object_name":"employee"},
                  {"name":"TREE", "description": "tree description", "sql_statement": "select * from admin.tree_data"}]',
              expiration_minutes   => 360,
              result               => status);
           dbms_output.put_line(status);
        END;
    /

    In questo esempio, i parametri sono:

    • sqls: specifica, come array JSON, i dettagli del membro per uno o più oggetti schema o istruzioni SQL SELECT da creare come membri di un gruppo di collegamenti ipertestuali tabella.

      Il formato dell'array JSON è:

      Nome attributo Obbligatorio Descrizione
      name N Specifica il nome del membro del gruppo. Quando non viene fornito alcun nome, viene creato un nome predefinito nella procedura.
      description N Descrizione membro gruppo
      sql_statement

      Fornire sql_statement o schema_object_name è obbligatorio

      Istruzione SQL per il membro

      Per informazioni dettagliate, vedere Generare un collegamento ipertestuale di tabella con un'istruzione Select.

      schema_name N

      Nome dello schema per il membro. Fornire un valore schema_name solo se la tabella o la vista fornita in schema_object_name non è disponibile nello schema corrente

      Per informazioni dettagliate, vedere Generare un collegamento ipertestuale tabella per una tabella o una vista.

      schema_object_name

      Fornire sql_statement o schema_object_name è obbligatorio

      Nome tabella/vista per il membro

      Per informazioni dettagliate, vedere Generare un collegamento ipertestuale tabella per una tabella o una vista.

      default_bind_variable N Applicabile solo per sql_statements con bind variable

      Per informazioni dettagliate, vedere Generare un collegamento ipertestuale di tabella con un'istruzione Select.

      column_lists N Come definito per la creazione di un collegamento ipertestuale tabella non di gruppo

      Per informazioni dettagliate, vedere Generare un collegamento ipertestuale di tabella con le funzioni dell'interfaccia utente specificate nelle colonne.

    • expiration_minutes: specifica che il gruppo di collegamenti ipertestuali tabella scade e viene invalidato dopo 360 minuti.

    • service_name: specifica che il gruppo di collegamenti ipertestuali tabella generato è servito con una garanzia e risorse specifiche a livello di servizio. Ad esempio, utilizzare il parametro service_name per specificare che l'accesso all'oggetto è mappato al servizio HIGH.

    • result: fornisce un JSON che indica il risultato dell'operazione.

    Per ulteriori informazioni, vedere CREATE_URL Procedure.

  3. Controllare il risultato.

    status contiene il risultato che include i dettagli di creazione del gruppo di collegamenti ipertestuali tabella. Ad esempio:

    {
      "status" : "SUCCESS",
      "id" : "P4LmrWC2-tGeHVlF6FRaQUIN2fW5nixkXa2t4ZGx6ubxxxyyyzzz-itojFFJFMooj",
      "preauth_url" : "https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/p/QHD_Yvonle1eUCoxbN6bO...xyzabcFQEg/data",
      "member_ids" :
      [
        "zAhrHMBwknDwmmA7Nh4fR3-Wuva6io_3y-Vv-iZNNc8XplGDxyxabc7SXf5xLmFGY",
        "JKYigWp5fvAftcRsuoFeaZx2JqMn9yk71KtEleBMWZ8XcDWxyzabcPKGOTJRHVu"
      ],
      "expiration_ts" : "2025-07-18T18:12:19.311Z",
      "expiration_count" : null
    }
Nota

È possibile utilizzare DBMS_DATA_ACCESS.LIST_ACTIVE_URLS e DBMS_DATA_ACCESS.LIST_MEMBERS per elencare i gruppi di collegamenti ipertestuali tabella e i membri del gruppo di collegamenti ipertestuali tabella. Per ulteriori informazioni, vedere Collegamenti ipertestuali tabella elenco, gruppi e membri gruppo.

Note per la creazione di un gruppo di collegamenti ipertestuali tabella:

  • result include il valore preauth_url, ovvero l'URL utilizzato per accedere al gruppo di collegamenti ipertestuali tabella. Per ulteriori informazioni, vedere Utilizzare un gruppo di collegamenti ipertestuali tabella per accedere ai dati.

  • Quando si genera un gruppo di collegamenti ipertestuali tabella in un'istanza di Autonomous Database con un endpoint privato, il risultato include un nome private_preauth_url con il valore del formato: "https://private-endpoint/adb/p/parurl-token/data".

    Quando si genera un gruppo di collegamenti ipertestuali tabella in un'istanza di Autonomous Database con un endpoint privato e l'endpoint privato viene configurato con l'opzione Consenti accesso pubblico abilitata, il risultato include sia l'opzione preauth_url per l'endpoint pubblico che l'opzione private_preauth_url.

    Per ulteriori informazioni, vedere Configura endpoint privati e Usa un endpoint privato con accesso pubblico consentito.

  • Utilizzare DBMS_DATA_ACCESS.EXTEND_URL per estendere la durata di un gruppo di collegamenti ipertestuali tabella. Quando si esegue DBMS_DATA_ACCESS.EXTEND_URL con un id per un gruppo di collegamenti ipertestuali tabella, la scadenza dei membri aggiunti viene estesa solo quando si crea il gruppo con DBMS_DATA_ACCESS.CREATE_URL (non sono inclusi i collegamenti ipertestuali tabella aggiunti con DBMS_DATA_ACCESS.ADD_MEMBER). Anche i collegamenti ipertestuali tabella aggiunti con DBMS_DATA_ACCESS.ADD_MEMBER esistono indipendentemente al di fuori del contesto del gruppo di collegamenti ipertestuali tabella ed è possibile eseguire DBMS_DATA_ACCESS.EXTEND_URL in modo indipendente su tali collegamenti ipertestuali tabella.

    Per ulteriori informazioni, vedere EXTEND_URL Procedure.

  • Per ulteriori informazioni sui parametri facoltativi per DBMS_DATA_ACCESS.CREATE_URL, vedere Note per la creazione di un collegamento ipertestuale tabella.

Aggiungi membro gruppo collegamenti ipertestuali tabella

In qualsiasi momento un utente con privilegi appropriati può aggiungere un membro a un gruppo di collegamenti ipertestuali tabella.

Utilizzare DBMS_DATA_ACCESS.ADD_MEMBER per aggiungere un collegamento ipertestuale tabella esistente a un gruppo. Ad esempio:

DECLARE
    status CLOB;
    BEGIN
       DBMS_DATA_ACCESS.ADD_MEMBER(
        id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
        member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
        result => status);           
       dbms_output.put_line(status);
    END;
/

Di seguito sono riportati i parametri disponibili.

Per ulteriori informazioni, vedere ADD_MEMBER Procedure.

Rimuovi membro gruppo collegamenti ipertestuali tabella

In qualsiasi momento un utente con privilegi appropriati può rimuovere un membro da un gruppo di collegamenti ipertestuali tabella.

Utilizzare DBMS_DATA_ACCESS.REMOVE_MEMBER per rimuovere un membro da un gruppo di collegamenti ipertestuali tabella. Ad esempio:

DECLARE
    status CLOB;
    BEGIN
       DBMS_DATA_ACCESS.REMOVE_MEMBER(
        id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
        member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
        result => status);           
       dbms_output.put_line(status);
    END;
/

Di seguito sono riportati i parametri disponibili.

  • id: specifica l'ID gruppo collegamenti ipertestuali tabella. Questo è il valore id visualizzato nel risultato quando si crea un gruppo di collegamenti ipertestuali tabella. Per ulteriori informazioni, vedere Creare un gruppo di collegamenti ipertestuali tabella.

  • member_id: specifica l'ID membro da rimuovere dal gruppo di collegamenti ipertestuali tabella.

  • result: fornisce un JSON che indica il risultato dell'operazione.

Note per la rimozione di un membro:

Per ulteriori informazioni, vedere REMOVE_MEMBER Procedure.

Invalidare un gruppo collegamenti ipertestuali tabella

In qualsiasi momento un utente con privilegi appropriati può invalidare un gruppo di collegamenti ipertestuali tabella.

Utilizzare DBMS_DATA_ACCESS.INVALIDATE_URL per invalidare un gruppo di collegamenti ipertestuali tabella. Ad esempio:

DECLARE
    status CLOB;
    BEGIN
       DBMS_DATA_ACCESS.INVALIDATE_URL(
        id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
        result => status);           
       dbms_output.put_line(status);
    END;
/

Di seguito sono riportati i parametri disponibili.

  • id: specifica l'ID gruppo collegamenti ipertestuali tabella. Questo è il valore id visualizzato nel risultato quando si crea un gruppo di collegamenti ipertestuali tabella. Per ulteriori informazioni, vedere Creare un gruppo di collegamenti ipertestuali tabella.

  • result: fornisce un JSON che indica il risultato dell'operazione.

Nota

Quando il parametro DBMS_DATA_ACCESS.INVALIDATE_URL id è un gruppo di collegamenti ipertestuali tabella, la procedura invalida il gruppo e tutti i membri del gruppo, ad eccezione dei membri del gruppo aggiunti con DBMS_DATA_ACCESS.ADD_MEMBER. Dopo aver eseguito DBMS_DATA_ACCESS.INVALIDATE_URL, i membri aggiunti con DBMS_DATA_ACCESS.ADD_MEMBER mantengono i valori di invalidazione dei collegamenti ipertestuali tabella indipendenti ed è possibile invalidare questi collegamenti ipertestuali tabella singolarmente utilizzando DBMS_DATA_ACCESS.INVALIDATE_URL.

Per ulteriori informazioni, vedere INVALIDATE_URL Procedure.