Iz­man­to­jot SQL sa­gla­bā­tās pro­ce­dū­ras, varat saglabāt bieži lietotus vai­cā­ju­mus un pro­ce­dū­ras kā koda blokus, kurus vēlāk var viegli atgūt. Tas ļauj ietaupīt laiku un nodrošina, ka jums nav jāievada SQL izteikumi no jauna katru reizi, kad tos iz­man­to­jat.

Kas ir SQL sa­gla­bā­tās pro­ce­dū­ras?

Strādājot ar SQL, noteikti ir vaicājumi, kurus iz­man­to­jat atkārtoti. Sarežģītu vaicājumu ie­va­dī­ša­na no jauna katru reizi, kad tie ir ne­pie­cie­ša­mi, var aizņemt laiku un pa­lie­li­nāt kļūdu ie­spē­ja­mī­bu. SQL sa­gla­bā­tās pro­ce­dū­ras atvieglo darbu ar re­gu­lā­riem, sa­rež­ģī­tiem vai­cā­ju­miem. Tās var izmantot, lai saglabātu un izgūtu bieži lietotus koda frag­men­tus. Tādējādi varat au­to­ma­ti­zēt at­kār­to­jo­šās darbības un padarīt datu pār­val­dī­bu efek­tī­vā­ku.

Viena no SQL saglabāto procedūru priekš­ro­cī­bām ir tā, ka tajās var saglabāt praktiski jebkāda veida iz­tei­ku­mus, kas satur SQL funkcijas, SQL komandas vai SQL ope­ra­to­rus, un izpildīt praktiski jebkāda veida uzdevumus. Jūs varat izveidot sa­gla­bā­tas pro­ce­dū­ras kon­krē­ta­jai darbībai un izsaukt tās, ie­vie­to­jot PROCEDURE nosaukumu pa­ras­ta­jos iz­tei­ku­mos, piemēram, SQL UPDATE un SQL SELECT. Funkcijas, kuras var au­to­ma­ti­zēt ar SQL saglabāto procedūru palīdzību, ietver datu at­jau­ni­nā­ša­nu, vai­cā­ju­mus, datu dzēšanu un vērtību izvadi.

Tip

Ie­pa­zīs­tie­ties ar SQL pamatiem! Mūsu SQL ievads ar piemēriem sniedz ātru pārskatu par sva­rī­gā­ka­jām funkcijām un no­tei­ku­miem šajā valodā.

Kāda ir SQL saglabāto procedūru sintakse?

Konkrētas sa­gla­bā­tās pro­ce­dū­ras sintakse būs atkarīga no koda bloka, kuru vēlaties saglabāt, un tā var būt vairāk vai mazāk sarežģīta.

Šeit ir vien­kār­šas sa­gla­bā­tās pro­ce­dū­ras sintakse:

CREATE PROCEDURE Procedure_name (Parameter1 file_type, Parameter2 file_type, …)
AS
BEGIN
(Code block you want to save)
END;
sql

Atkarībā no tā, kādu datubāzes pār­val­dī­bas sistēmu iz­man­to­jat, sintakse var iz­ska­tī­ties arī šādi:

CREATE PROCEDURE Procedure_name (Parameter1 file_type, Parameter2 file_type, …)
AS
(Code block you want to save)
GO;
sql

Šie ir at­tie­cī­gie parametri:

  • CREATE PROCEDURE: Šeit norādiet pro­ce­dū­ras nosaukumu. Šo nosaukumu iz­man­to­siet, lai izpildītu kodu vai iekļautu to citā ins­truk­ci­jā. Parametri ietver dažādus datus, kas ne­pie­cie­ša­mi koda blokam, tostarp to failu tipus.
  • AS: Atzīmē to koda bloka sākumu, kuru vēlaties saglabāt kā saglabātu procedūru.
  • BEGIN + END: At­zī­mē­jiet sa­gla­bā­ja­mo koda bloka sākumu un beigas.
  • GO: Atzīmē koda bloka beigas (pilda tādu pašu funkciju kā END).

Iz­man­to­jot šo kodu, varat izpildīt saglabāto procedūru:

EXEC Procedure_name;
sql

Kādas ir SQL saglabāto procedūru priekš­ro­cī­bas un lie­to­ša­nas gadījumi?

Iz­man­to­jot SQL sa­gla­bā­tās pro­ce­dū­ras, var saglabāt praktiski jebkuru SQL izteikumu un vēlāk to atgūt. Saglabāto procedūru priekš­ro­cī­bas ir šādas:

  • Koda atkārtota iz­man­to­ša­na: pastāv noteiktas SQL komandas un funkcijas, kuras jūs datu bāzē iz­man­to­siet atkārtoti. Vienkāršu un sarežģītu izteikumu sa­gla­bā­ša­na ļauj tos izmantot atkārtoti, neievadot kodu katru reizi no jauna.
  • Vien­kār­šo­ta darbība ar datu bāzēm: ja runa ir par sa­rež­ģī­tiem uz­de­vu­miem, sa­gla­bā­tās pro­ce­dū­ras sadala lielas, sa­rež­ģī­tas darbības vairākās mazākās pro­ce­dū­rās. Koda bloki tiek uzskatīti par moduļiem, kurus var iekļaut izteikumā, ar kuru strādājat.
  • Lielāka efek­ti­vi­tā­te, labāka veikt­spē­ja: Kodu bloku sa­gla­bā­ša­na atvieglo SQL izteikumu izveidi un uzlabo lielu datubāzu veikt­spē­ju.
  • Lielāka drošība: atļauju pie­šķir­ša­na sa­gla­bā­tām pro­ce­dū­rām nodrošina, ka kon­fi­den­ciā­los datus var iegūt vai piekļūt tiem tikai ar atļauju.

Daži praktiski SQL saglabāto procedūru pie­lie­to­ju­ma piemēri dažādās nozarēs ir šādi:

  • Pa­sū­tī­ju­mu procesu au­to­ma­ti­zē­ša­na un klientu datu at­jau­ni­nā­ša­na
  • Aizdomīgu finanšu darījumu uz­rau­dzī­ba un pārbaude vai procentu likmju ap­rē­ķi­nā­ša­na
  • Pie­dā­vā­ju­mu au­to­mā­tis­ka izveide, pa­ma­to­jo­ties uz klientu datiem, pirkšanas pa­ra­du­miem, pa­sū­tī­ju­mu apjomu un reģionu
  • Dar­bi­nie­ku komisiju ap­rē­ķi­nā­ša­na, pa­ma­to­jo­ties uz darba re­zul­tā­tiem
  • Finanšu pārskatu izveide un darījumu ie­grā­ma­to­ša­na
  • Krājumu un ienākošo pa­sū­tī­ju­mu iz­se­ko­ša­na, uz­rau­dzī­ba un sin­hro­ni­zē­ša­na

SQL saglabāto procedūru piemēri

Tagad pie­vēr­sī­si­mies diviem SQL saglabāto procedūru piemēriem.

Visu klientu izgūšana

Pieņemsim, ka vēlaties izgūt visus klientu datus no tabulas ar nosaukumu „Klienti”. Tas iz­ska­tī­tos šādi:

CREATE PROCEDURE SelectAllCustomers
AS
BEGIN
SELECT * FROM Customers
END;
sql

Pa­sū­tī­ju­mu atlase no vienas pilsētas

Pieņemsim, ka jūs vēlaties izgūt visus pa­sū­tī­ju­mus no vienas pilsētas no tabulas ar nosaukumu „Orders“:

CREATE PROCEDURE SelectAllOrdersBristol
AS
BEGIN
SELECT * FROM Orders WHERE City = 'Bristol'
END;
sql

Vai pastāv al­ter­na­tī­vas SQL sa­gla­bā­ta­jām pro­ce­dū­rām?

Ir vairākas al­ter­na­tī­vas SQL sa­gla­bā­ta­jām pro­ce­dū­rām, kurām ir līdzīga funkcija. Tās ietver:

  • UDF (lietotāja definēta funkcija): UDF ļauj izveidot un saglabāt savas funkcijas, iz­man­to­jot at­slēg­vār­du CREATE FUNCTION. Tas ļauj integrēt sa­rež­ģī­tus vai­cā­ju­mus SQL teikumos kā iepriekš definētas funkcijas, neievadot visu koda bloku.
  • SKATI: SKATI ļauj izveidot tukšas, virtuālas tabulas ierakstu analīzei ar iepriekš de­fi­nē­tiem pa­ra­met­riem. Tāpat kā UDF un sa­gla­bā­tās pro­ce­dū­ras, arī SKATUS var ievietot kā elementu SQL iz­tei­ku­mos.
Go to Main Menu