sql >> Database >  >> RDS >> Oracle

PL/SQL-opgeslagen procedures maken met parameters in Oracle Database?

In de vorige zelfstudie hebben we besproken hoe u een opgeslagen procedure kunt maken zonder parameters. Maar soms kan het gebeuren dat u een opgeslagen procedure moet maken die parameters accepteert. Deze subroutines zijn er tenslotte om u te helpen uw probleem zo gemakkelijk mogelijk op te lossen. Daarom zullen we vandaag in deze blog leren hoe we opgeslagen procedures met parameters in Oracle Database kunnen maken

Voor degenen die nieuw zijn met PL/SQL-programmering en zich afvragen wat de opgeslagen procedure is? Maak je geen zorgen, ik heb een aparte blog voor je gemaakt waarin de fundamentele theorie van de opgeslagen procedure wordt uitgelegd. Je kunt die blog hier bekijken.

Laten we dus eens kijken naar de demonstratie van het maken van een PL/SQL-opgeslagen procedure met parameters!

Stap 1:Maak de koptekst van de opgeslagen procedure

In de kop van de procedure definiëren we de handtekening.

CREATE OR REPLACE PROCEDURE emp_sal
(dep_id NUMBER, sal_raise NUMBER) 
IS

De header is vrij gelijkaardig aan degene die we in de laatste tutorial zagen, behalve dat deze keer onze procedure parameters accepteert die dep_id en sal_raise van NUMBER datatype zijn.

Stap 2:Maak de uitvoeringssectie van de opgeslagen procedure

In de uitvoeringssectie schrijven we alle uitvoerbare instructies die de werking van de opgeslagen procedure definiëren.

BEGIN
  UPDATE employees SET salary = salary * sal_raise WHERE department_id = dep_id;
END;
/

Voor een beter begrip heb ik geprobeerd deze code zo eenvoudig mogelijk te maken. In de uitvoeringssectie hebben we slechts één DML-instructie die UPDATE is. Hiermee werken we de salariskolom van de werknemerstabel bij.

U kunt de bedrijfslogica op deze manier schrijven en deze vervolgens in een procedure opnemen en indien nodig in uw app aanroepen. Dit geeft je meer controle over je app. Het zal je ook behoeden voor het steeds opnieuw schrijven van dezelfde code.

Deze procedure accepteert twee parameters, namelijk de afdelings-ID en de numerieke waarde voor salarisverhoging. De eerste parameter, dep_id, wordt gebruikt om de ID van de afdeling te bepalen. De tweede parameter, namelijk sal _ raise, wordt de vermenigvuldigingsfactor bij de salarisverhoging.

Voor een meer diepgaand begrip van hetzelfde, bekijk de video-tutorial op mijn YouTube-kanaal. Daar heb ik elke regel en elk trefwoord van de bovenstaande opgeslagen procedure in detail uitgelegd.

Laten we alle bovenstaande stukjes code combineren in een enkele genaamd PL/SQL-eenheid.

Opgeslagen procedure voor afdelingsbrede salarisverhoging

CREATE OR REPLACE PROCEDURE emp_sal( dep_id NUMBER, sal_raise NUMBER) 
IS
BEGIN
  UPDATE emp SET salary = salary * sal_raise WHERE department_id = dep_id;
END;
/

Nadat u uw opgeslagen procedure met succes hebt gemaakt, moet u deze vervolgens in uw programma of code oproepen. In de laatste tutorial liet ik je verschillende manieren zien om een ​​procedure aan te roepen in de Oracle-database. Je kunt dezelfde tutorial raadplegen.

Dat is de tutorial over het maken van een PL/SQL-opgeslagen procedure met parameters in Oracle Database. Deel het alsjeblieft op je sociale media en help anderen bij het leren.

Dat is het voor vandaag. Fijne dag!


  1. Verbinding maken met Microsoft Access in IRI Workbench

  2. Tel het aantal dagen tussen 2 datums in JPA

  3. Heroku Postgresql met Google Datastudio

  4. Ampersand-operator (&) in een SQL Server WHERE-clausule