# Kuidas kasutada SQL-i salvestatud protseduure

SQL-salvestatud protseduure saab kasutada selleks, et salvestada **sageli kasutatavaid päringuid ja protseduure koodilõikudena,** mida on hiljem lihtne uuesti kasutada. See aitab säästa aega ja tagab, et te ei pea SQL-käsklusi iga kord uuesti sisestama.

## Mis on SQL-salvestatud protseduurid?

[SQL-iga](https://www.ionos.com/et-ee/digitalguide/server/oskusteave/mis-on-sql/) töötades on kindlasti käske, mida kasutate ikka ja jälle. Keerukate käskude iga kord algusest peale sisestamine võib võtta aega ja suurendada vigade tekkimise võimalust. SQL-i salvestatud protseduurid hõlbustavad korduvate ja keerukate päringute kasutamist. Nende abil saate salvestada ja välja otsida sageli kasutatavaid koodilõike. Nii saate **korduvaid toiminguid automatiseerida** ja muuta oma andmehaldust tõhusamaks.

SQL-salvestatud protseduuride üks eelis on see, et neisse saab salvestada **peaaegu igasuguseid käske, mis** sisaldavad SQL-funktsioone, SQL-käsklusi või SQL-operaatoreid, ning täita peaaegu igasuguseid ülesandeid. Saate luua salvestatud protseduure vastava toimingu jaoks ning neid käivitada, lisades protseduuri nime tavalistesse käskudesse, nagu SQL UPDATE ja SQL SELECT. SQL-salvestatud protseduuridega saab automatiseerida näiteks andmete uuendamist, päringuid, andmete kustutamist ja väärtuste väljastamist.

Tip Õpi SQLi põhitõdesid! Meie [näidetega illustreeritud SQLi sissejuhatus](https://www.ionos.com/et-ee/digitalguide/server/seadistused/sql-i-sissejuhatus-naeidetega/) annab sulle kiire ülevaate keele olulisematest funktsioonidest ja reeglitest.

## Milline on SQL-i salvestatud protseduuride süntaks?

Konkreetse salvestatud protseduuri süntaks sõltub sellest, millise koodilõigu soovid salvestada, ning võib olla rohkem või vähem keeruline.

Siin on **lihtsa salvestatud protseduuri** süntaks:

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

Sõltuvalt sellest, millist andmebaasihaldussüsteemi kasutate, võib süntaks olla ka järgmine:

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

Need on asjaomased parameetrid:

- `CREATE PROCEDURE`: Määrake siin oma protseduuri nimi. Seda nime kasutate koodi käivitamiseks või selle lisamiseks teise käsklusse. Parameetrid hõlmavad koodiblokile vajalikke erinevaid andmeid, sealhulgas nende failitüüpi.
- `AS`: Märgib selle koodibloki algust, mida soovite salvestada salvestatud protseduurina.
- `BEGIN` + `END`: Märkige salvestatava koodibloki algus ja lõpp.
- `GO`: Märgib koodibloki lõppu (on sama funktsiooniga kui `END`).

Selle koodi abil saate salvestatud protseduuri käivitada:

```sql
EXEC Procedure_name;
```

## Millised on SQL-salvestatud protseduuride eelised ja kasutusvõimalused?

SQL-salvestatud protseduuride abil saab salvestada peaaegu iga SQL-käsku ja seda hiljem uuesti kasutada. Salvestatud protseduuride eelised on järgmised:

- **Koodi taaskasutamine**: on teatud SQL-käsklusi ja funktsioone, mida kasutate oma andmebaasiga ikka ja jälle. Lihtsate ja keerukate käskude salvestamine võimaldab neid korduvalt kasutada, ilma et peaksite koodi iga kord uuesti sisestama.
- **Lihtsustatud töö andmebaasidega**: keeruliste ülesannete puhul jagavad salvestatud protseduurid suured ja keerulised operatsioonid mitmeks väiksemaks protseduuriks. Koodiblokke käsitletakse moodulitena, mida saab lisada käsitusse, millega parasjagu töötate.
- **Suurem tõhusus, parem jõudlus**: Koodiblokkide salvestamine lihtsustab SQL-avalduste loomist ja parandab suurte andmebaaside jõudlust.
- **Suurem turvalisus**: salvestatud protseduuridele õiguste määramine tagab, et tundlikke andmeid saab kätte või neile pääseb ligi ainult volituse alusel.

Mõned SQL-salvestatud protseduuride praktilised rakendusnäited erinevatest tööstusharudest on järgmised:

- Tellimisprotsesside automatiseerimine ja kliendiandmete ajakohastamine
- Kahtlaste finantstehingute jälgimine ja kontrollimine või intressimäärade arvutamine
- Pakkumiste automaatne koostamine kliendiandmete, ostukäitumise, tellimuste mahu ja piirkonna põhjal
- Töötajate komisjonitasude arvutamine tulemuslikkuse alusel
- Finantsaruannete koostamine ja tehingute kirjendamine
- Laoseisu ja sissetulevate tellimuste jälgimine, kontrollimine ja sünkroniseerimine

## Näited SQL-i salvestatud protseduuridest

Nüüd vaatame kahte näidet SQL-i salvestatud protseduuridest.

### Kõigi klientide kuvamine

Oletame, et soovid kätte saada kõik kliendiandmed tabelist nimega „Customers”. See näeks välja järgmiselt:

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

### Tellimuste valimine ühest linnast

Oletame, et soovid tabelist „Orders” välja tuua kõik ühest linnast pärit tellimused:

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

## Kas SQL-i salvestatud protseduuridele on alternatiive?

SQL-i salvestatud protseduuridele on mitmeid sarnase funktsiooniga alternatiive. Nende hulka kuuluvad:

- **UDF (kasutaja määratud funktsioon)**: UDF-ide abil saate märksõna `CREATE FUNCTION` abil luua ja salvestada oma funktsioone. See võimaldab teil integreerida keerukaid päringuid SQL-käskudesse eelmääratud funktsioonidena, ilma et peaksite kogu koodiplokki käsitsi sisestama.
- **VIEWS**: VIEWS võimaldab teil luua tühje virtuaaltabeleid, et analüüsida kirjeid eeldefineeritud parameetritega. Nagu UDF-id ja salvestatud protseduurid, saate lisada VIEWS-i SQL-käskudesse elemendina.


This is a markdown version of: [https://www.ionos.com/et-ee/digitalguide/server/seadistused/sql-salvestatud-protseduurid/](https://www.ionos.com/et-ee/digitalguide/server/seadistused/sql-salvestatud-protseduurid/) for AI/LLM consumption.