Stored procedures (MySQL): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
(Nieuwe pagina aangemaakt met 'thumb|Een nieuwe ''sproc'' aanmaken in MySQL Workbench'' ''Stored procedures'' oftewel ''sprocs'' zijn subroutines die worden opgeslagen...')
 
Regel 9: Regel 9:
 
* Hergebruik van data
 
* Hergebruik van data
 
* Common gateway: Sprocs zijn ''business logic'' die tezamen met de database wordt opgeslagen. Da's handig voor overige business logic en de ''user interfaces'' daar bovenop: Eén vaste plek waar 'essentiële' routines voor handen zijn.
 
* Common gateway: Sprocs zijn ''business logic'' die tezamen met de database wordt opgeslagen. Da's handig voor overige business logic en de ''user interfaces'' daar bovenop: Eén vaste plek waar 'essentiële' routines voor handen zijn.
 
== Gewone SQL-code ==
 
 
Sprocs kunnen in ieder geval gewone SQL-code verwerken. En da's heel handig: Als een script te groot wordt, kan ik het 1-op-1-kopiëren naar een sproc zonder enige aanpassing.
 
  
 
== MySQL Workbench ==
 
== MySQL Workbench ==

Versie van 19 okt 2015 17:22

Een nieuwe sproc aanmaken in MySQL Workbench

Stored procedures oftewel sprocs zijn subroutines die worden opgeslagen in een tabel binnen de betreffende database.

Voordelen van sprocs

  • Encapsulation/abstraction/overzicht: Door onderdelen van een script in sprocs onder te brengen, behoud je overzicht
  • Flow control: In sprocs heb je veel meer flexibiliteit tav. flow control dan in SQL-statements
  • Hergebruik van data
  • Common gateway: Sprocs zijn business logic die tezamen met de database wordt opgeslagen. Da's handig voor overige business logic en de user interfaces daar bovenop: Eén vaste plek waar 'essentiële' routines voor handen zijn.

MySQL Workbench

In MySQL Workbench kun je een nieuwe stored procedure aanmaken door in de linkerkolom te klikken op het bijbehorende icoon boven de sectie Management.

Hello, World!

Wat ik heb ingetikt (muv. delimiter-statement)
MySQL Workbench voegt het Definer-statement toe
Aanroep & resultaat

Data-abstractie & variable lifetime

De tijdelijke tabel tbl_tools is in de aanroepende query aagenaakt, en is beschikbaar binnen de sproc

Let op: Variablen zijn ook buiten de betreffende sproc beschikbaar in scripts. Dat klinkt inconsistent omdat je in sprocs output kunt defineren, maar het komt goed uit, omdat er al zo weinig mogelijkheden zijn om te debuggen. Het is daarom vaak handig om variabelen te resetten voor gebruik.

Zie ook

Bronnen