plsql
PLSQL-procedure
Zoeken…
Invoering
PLSQL-procedure is een groep SQL-instructies die op de server is opgeslagen voor hergebruik. Het verhoogt de prestaties omdat de SQL-instructies niet elke keer opnieuw hoeven te worden gecompileerd.
Opgeslagen procedures zijn handig wanneer dezelfde code vereist is voor meerdere toepassingen. Het hebben van opgeslagen procedures elimineert redundantie en introduceert eenvoud in de code. Wanneer gegevensoverdracht tussen de client en de server vereist is, kunnen procedures de communicatiekosten in bepaalde situaties verlagen.
Syntaxis
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
< declarations >
BEGIN
< procedure_body >
EXCEPTION -- Exception-handling part begins
<exception handling goes here >
WHEN exception1 THEN
exception1-handling-statements
END procedure_name;
- procedurenaam geeft de naam van de procedure aan.
- Met de optie [OF VERVANGEN] kunt u een bestaande procedure wijzigen.
- De optionele parameterlijst bevat naam, modus en typen parameters. IN geeft aan dat de waarde van buiten wordt doorgegeven en OUT geeft aan dat deze parameter wordt gebruikt om een waarde buiten de procedure te retourneren. Als er geen modus is opgegeven, wordt aangenomen dat de parameter de IN-modus is.
- In het aangiftegedeelte kunnen we variabelen declareren die in het lichaamsdeel worden gebruikt.
- procedure-body bevat het uitvoerbare deel.
- Het AS-sleutelwoord wordt in plaats van het IS-sleutelwoord gebruikt om een zelfstandige procedure te maken.
- uitzonderingsgedeelte behandelt de uitzonderingen op de procedure. Deze sectie is optioneel.
Hallo Wereld
De volgende eenvoudige procedure geeft de tekst "Hallo wereld" weer in een client die dbms_output
ondersteunt.
CREATE OR REPLACE PROCEDURE helloworld
AS
BEGIN
dbms_output.put_line('Hello World!');
END;
/
U moet dit uitvoeren bij de SQL-prompt om de procedure in de database te maken, of u kunt de onderstaande query uitvoeren om hetzelfde resultaat te krijgen:
SELECT 'Hello World!' from dual;
In / uit parameters
PL / SQL gebruikt IN, UIT, IN UIT trefwoorden om te definiëren wat er kan gebeuren met een doorgegeven parameter.
IN geeft aan dat de parameter alleen-lezen is en dat de waarde niet door de procedure kan worden gewijzigd.
OUT geeft aan dat de parameter alleen schrijven is en een procedure kan hieraan een waarde toewijzen, maar niet naar de waarde verwijzen.
IN OUT geeft aan dat de parameter beschikbaar is voor referentie en wijziging.
PROCEDURE procedureName(x IN INT, strVar IN VARCHAR2, ans OUT VARCHAR2)
...
...
END procedureName;
procedureName(firstvar, secondvar, thirdvar);
De variabelen die in het bovenstaande voorbeeld worden doorgegeven, moeten worden getypt zoals ze zijn gedefinieerd in het gedeelte met de parameterparameters.