Kan vi använda execute immediate för select-satsen?
Kan vi använda execute immediate för select-satsen?

Video: Kan vi använda execute immediate för select-satsen?

Video: Kan vi använda execute immediate för select-satsen?
Video: Tim Maudlin Λ Palmer: Fractal Geometry, Non-locality, Bell 2024, November
Anonim

Programmet kan använda EXECUTE IMMEDIATE . UTFÖR OMEDELBART definierar a Välj loop för att bearbeta de returnerade raderna. Om Välj returnerar endast en rad, det är inte nödvändigt att använda sig av a Välj slinga.

Därav, hur Använd omedelbart exekvera?

Du kan lägga en UTFÖR OMEDELBART med RETURNING BULK COLLECT INTO inuti en FORALL-sats. Du kan lagra resultaten av alla INSERT-, UPDATE- eller DELETE-satser i en uppsättning samlingar. Du kan skicka prenumererade samlingselement till UTFÖR OMEDELBART uttalande genom ANVÄNDER SIG AV klausul.

Därefter är frågan, behöver vi commit efter exekvering omedelbart? Begå behövs inte efter varje UTFÖR OMEDELBART . Vissa uttalanden do INTE behöva a begå ; till exempel om du trunkera en tabell med TRUNCATE. Allt oengagerat arbete inom den aktuella transaktionen är engagerade eller rullat tillbaka - inte bara uttalandet avrättade vid UTFÖR OMEDELBART.

Kan vi på detta sätt använda execute immediate i Oracle-funktionen?

De UTFÖR OMEDELBART sats exekverar en dynamisk SQL-sats eller anonym PL/SQL blockera. Du kan använda det för att utfärda SQL-satser som inte kan representeras direkt i PL/SQL , eller för att bygga upp uttalanden där du gör inte känner till alla tabellnamn, WHERE-satser och så vidare i förväg.

Varför använder vi execute immediate i Oracle?

UTFÖR OMEDELBART möjliggör avrättning av en DML- eller DDL-sats som hålls som en sträng och endast utvärderas vid körning. Detta gör det möjligt för en att dynamiskt skapa uttalandet baserat på programlogik. UTFÖR OMEDELBART är också det enda sättet du kan Kör DDL inom en PL/SQL blockera.

Rekommenderad: