Proceduri memorate mysql (partea 1)

Ce sunt procedurile stocate?

Începând cu MySQL versiunea 5.0, a devenit posibilă utilizarea procedurilor stocate. Procedura stocată simplu este procedura stocată în baza de date de pe server.

Care sunt procedurile memorate utile?

  • Ele rulează în toate mediile, și nu este nevoie să reconstruim logica. Din moment ce ați creat procedura stocată, nu contează ce aplicație folosiți pentru a apela procedura. De asemenea, nu contează limba în care programați, logica procedurii este conținută în serverul de bază de date.
  • Acestea pot reduce traficul în rețea. Sarcinile complexe, repetitive pot fi procesate utilizând procedurile de pe serverul de baze de date, fără a fi nevoie să trimiteți rezultate intermediare aplicației.

Un exemplu simplu

Această procedură afișează pur și simplu fraza "Hello world" în engleză. - "Buna ziua"

Și acum o vom numi:

parametrii

Un avantaj semnificativ al procedurilor stocate este că aceștia pot accepta și transmite valori.

Există trei tipuri de parametri:
  • IN. Implicit. Acest parametru este acceptat de procedură și poate varia în cadrul procedurii, dar nu poate fi modificat în afara procedurii.
  • OUT. Nu se transmit valori (înseamnă că au valoarea NULL), dar pot fi modificate în cadrul procedurii și, de asemenea, modificate în afara procedurii.
  • INOUT. Combină proprietățile parametrilor IN și OUT. Valoarea poate fi trecută la procedură, modificată în interiorul procedurii și poate fi accesată în afara procedurii.

Acest exemplu de procedură stocată demonstrează utilizarea unui parametru IN. Deoarece parametrul IN este utilizat în mod prestabilit, nu îl puteți scrie neapărat.

Proceduri memorate mysql (partea 1)

Exemplu OUT

Proceduri memorate mysql (partea 1)

SHOW PROCEDURE STATUS - returnează o listă a procedurilor stocate, cu unele date despre ele.
SHOW CREATE PROCEDURE - returnează codul unei anumite proceduri.

Separatoare și proceduri care conțin mai mulți operatori

Procedurile memorate, desigur, nu sunt foarte utile dacă conțin o instrucțiune. Cum distingem instrucțiunile din procedură de la sfârșitul acestei proceduri. Putem crea un alt separator de declarații pentru sfârșitul instrucțiunii CREATE PROCEDURE.

Rețineți că nu există punct și virgulă după caracterul "|" pe care îl vom folosi în procedură. Trebuie să selectați un delimitator care nu va fi folosit în procedura dvs. și poate fi mai mult de un caracter.

Când am apelat la procedură, MySQL a folosit în continuare "|" ca delimitator, dar nu și punct și virgulă, deci operatorii nu au început după punct și virgulă.

Variabile de procedură

În procedurile stocate, puteți defini, de asemenea, variabilele locale utilizând instrucțiunea DECLARE.

Populația variabilelor din tabelele existente

Articole similare