Possiamo usare l'istruzione execute immediate for select?
Possiamo usare l'istruzione execute immediate for select?

Video: Possiamo usare l'istruzione execute immediate for select?

Video: Possiamo usare l'istruzione execute immediate for select?
Video: PREPARE then EXECUTE & EXECUTE IMMEDIATE in SQL Stored Procedure in IBM i DB2 AS400 2024, Aprile
Anonim

Il programma può usare ESEGUI IMMEDIATO . ESEGUI IMMEDIATA definisce a Selezionare ciclo per elaborare le righe restituite. Se la Selezionare restituisce solo una riga, non è necessario utilizzo un Selezionare ciclo continuo.

Di ciò, come utilizzare l'esecuzione immediata?

Puoi mettere un ESEGUI IMMEDIATA con l'istruzione RETURNING BULK COLLECT INTO all'interno di un'istruzione FORALL. È possibile memorizzare i risultati di tutte le istruzioni INSERT, UPDATE o DELETE in un insieme di raccolte. Puoi passare gli elementi della raccolta in pedice al ESEGUI IMMEDIATA dichiarazione attraverso il UTILIZZANDO clausola.

Successivamente, la domanda è: è necessario eseguire immediatamente il commit dopo l'esecuzione? Commettere non è richiesto dopo ogni ESEGUI IMMEDIATA . Alcune affermazioni fare NON richiedere un commettere ; per esempio, se tu troncare una tabella con TRUNCATE. Tutto il lavoro non impegnato all'interno della transazione corrente sono impegnati o annullato - non solo la dichiarazione eseguito dal ESEGUI IMMEDIATA.

In questo modo, possiamo usare la funzione di esecuzione immediata in Oracle?

Il ESEGUI IMMEDIATA l'istruzione esegue un'istruzione SQL dinamica o anonima PL/SQL bloccare. Puoi usare per emettere istruzioni SQL che non possono essere rappresentate direttamente in PL/SQL , o per costruire affermazioni in cui fate non conoscere in anticipo tutti i nomi delle tabelle, le clausole WHERE e così via.

Perché utilizziamo l'esecuzione immediata in Oracle?

ESEGUI IMMEDIATA consente esecuzione di un'istruzione DML o DDL che viene conservata come stringa e valutata solo in fase di esecuzione. Ciò consente di creare dinamicamente l'istruzione in base alla logica del programma. ESEGUI IMMEDIATA è anche l'unico modo in cui puoi eseguire DDL all'interno di a PL/SQL bloccare.

Consigliato: