Kan vi bruge execute immediate til select-sætning?
Kan vi bruge execute immediate til select-sætning?

Video: Kan vi bruge execute immediate til select-sætning?

Video: Kan vi bruge execute immediate til select-sætning?
Video: 37: EXECUTE IMMEDIATE | SQL Tutorial 2024, November
Anonim

Programmet kan bruge EXECUTE IMMEDIATE . UDFØR STRAKS definerer en Vælg loop for at behandle de returnerede rækker. Hvis Vælg returnerer kun én række, er det ikke nødvendigt at brug -en Vælg sløjfe.

Deraf, hvordan Brug øjeblikkelig eksekvere?

Du kan sætte en UDFØR STRAKS sætning med RETURNING BULK COLLECT INTO inde i en FORALL-sætning. Du kan gemme resultaterne af alle INSERT, UPDATE eller DELETE-sætningerne i et sæt samlinger. Du kan videregive tegnede samlingselementer til UDFØR STRAKS erklæring gennem VED BRUG AF klausul.

Efterfølgende er spørgsmålet, skal vi forpligte os efter eksekvering med det samme? Begå er ikke påkrævet efter hver UDFØR STRAKS . Visse udsagn gør IKKE kræve -en begå ; for eksempel hvis du afkort en tabel med TRUNCATE. Alt uforpligtende arbejde inden for den aktuelle transaktion er engagerede eller rullet tilbage - ikke kun udsagnet henrettet ved UDFØR STRAKS.

Kan vi på denne måde bruge execute immediate i Oracle-funktionen?

Det UDFØR STRAKS sætning udfører en dynamisk SQL-sætning eller anonym PL/SQL blok. Du kan bruge det til at udstede SQL-sætninger, der ikke kan repræsenteres direkte i PL/SQL , eller at opbygge udsagn hvor du gør ikke kender alle tabelnavne, WHERE-sætninger og så videre på forhånd.

Hvorfor bruger vi execute immediate i Oracle?

UDFØR STRAKS muliggør udførelse af en DML- eller DDL-sætning, der holdes som en streng og kun evalueres under kørsel. Dette gør det muligt for en dynamisk at oprette sætningen baseret på programlogik. UDFØR STRAKS er også den eneste måde du kan udføre DDL inden for en PL/SQL blok.

Anbefalede: