Kan vi bruke execute immediate for select-setning?
Kan vi bruke execute immediate for select-setning?

Video: Kan vi bruke execute immediate for select-setning?

Video: Kan vi bruke execute immediate for select-setning?
Video: Tim Maudlin Λ Palmer: Fractal Geometry, Non-locality, Bell 2024, November
Anonim

Programmet kan bruke EXECUTE IMMEDIATE . UTFØR UMIDDELBART definerer en plukke ut løkke for å behandle de returnerte radene. Hvis plukke ut returnerer bare én rad, er det ikke nødvendig bruk en plukke ut Løkke.

Derav, hvordan Bruk umiddelbar utførelse?

Du kan sette en UTFØR UMIDDELBART setningen med RETURNING BULK COLLECT INTO i en FORALL-setning. Du kan lagre resultatene av alle INSERT-, UPDATE- eller DELETE-setningene i et sett med samlinger. Du kan sende abonnementselementer til UTFØR UMIDDELBART uttalelse gjennom VED HJELP AV klausul.

Spørsmålet er deretter, trenger vi forplikte oss etter utførelse umiddelbart? Begå er ikke obligatorisk etter hver UTFØR UMIDDELBART . Visse utsagn gjøre IKKE krever en begå ; for eksempel hvis du avkorte en tabell med TRUNCATE. Alt uforpliktende arbeid innenfor gjeldende transaksjon er forpliktet eller rullet tilbake - ikke bare uttalelsen henrettet ved UTFØR UMIDDELBART.

På denne måten, kan vi bruke execute immediate i Oracle-funksjonen?

De UTFØR UMIDDELBART setning utfører en dynamisk SQL-setning eller anonym PL/SQL blokkere. Du kan bruke det å gi SQL-setninger som ikke kan representeres direkte i PL/SQL , eller å bygge opp utsagn hvor du gjør ikke kjenner alle tabellnavnene, WHERE-klausuler og så videre på forhånd.

Hvorfor bruker vi execute immediate i Oracle?

UTFØR UMIDDELBART aktiverer henrettelse av en DML- eller DDL-setning som holdes som en streng og bare evalueres under kjøring. Dette gjør at man dynamisk kan lage setningen basert på programlogikk. UTFØR UMIDDELBART er også den eneste måten du kan henrette DDL innenfor en PL/SQL blokkere.

Anbefalt: