Luo tallennettu toimintosarja Azure Database for PostgreSQL:lle
Tallennetun toimintosarjan luominen tiettyyn tehtävään sisältää monia etuja, kuten Azure for PostgreSQL -tietokannan toimintojen laajentamisen. Käytä tallennettua toimintosarjaa, kun haluat:
- Kehitä ja testaa monimutkaista koodia yhdessä paikassa ja kutsu se sitten tarvittaessa.
- Suorita koodia tehokkaasti. Tallennetut toimintosarjat, jotka palauttavat saman tuloksen, ovat tehokkaampia, koska ne on esivalmistettu ja tallennettu Azure Database PostgreSQL -palvelimeen.
- Helpota koodin lukemista.
- Sisällytä virheenkäsittely tapahtuman sisällä.
- Piilota monimutkaisuus käyttäjiltä.
Vaikka PostgreSQL:n Azure-tietokanta tukee useita ohjelmointikieliä, SQL on PostgreSQL:n alkuperäinen kieli ja toimii parhaiten optimoijan kanssa.
Tallennettu toimintosarja luodaan avainsanoilla CREATE PROCEDURE. Vaihtoehtoisesti voit luoda uuden toimintosarjan tai korvata toimintosarjan samalla nimellä LUO TAI KORVAA TOIMINTOSARJA -parametrilla.
Lisää rakenteen nimi, jotta voit luoda toimintosarjan tietyssä rakenteessa. Muussa tapauksessa luonnissa nykyisessä rakenteessa. Toimintosarjan nimen on oltava yksilöivä rakenteen sisällä, mukaan lukien syöteargumenttityypit. Voit kuitenkin ylikuormittaa toimintosarjan nimet antamalla saman nimen toimintosarjalle tai funktiolle, jolla on eri argumenttityypeissä.
Toimintosarjan luova käyttäjä on menettelyn omistaja. Sinun on myös määritettävä kieli.
Toimintostoimissa otetaan seuraavat parametrit:
- nimen – voit halutessasi sisällyttää rakenteen nimen.
- argmode – argumentin tila. Voi olla IN, INOUT tai VARIADIC. Oletusarvo on IN. OUT-tuki ei ole tuettu; käytä sen sijaan INOUT-todennusta. VARDIADIC on määrittämätön määrä samantyyppisiä syöteargumentteja, ja sen on oltava viimeiset syöteargumentit.
- argname – argumentin nimi.
- argtype – argumentin tietotyyppi.
- default_expr – oletuslauseketta (samaa tyyppiä), jota käytetään, jos parametria ei ole määritetty. Oletusarvoja sisältävillä parametrin jälkeisillä syöteparametreilla on myös oltava oletusarvot.
- lang_name – toimintosarjan kirjoittamiseen käytetty kieli. Voi olla sql, c, sisäinen tai käyttäjän määrittämän menettelykielen nimi, esimerkiksi plpgsql.
Seuraavassa esimerkissä luodaan tallennettu toimintosarja nimeltä myprocedure, jossa syöteparametrit ovat a ja b. IN on parametrien oletusasetus, joten niitä ei tarvitse eksplisiittisesti tunnistaa syöteparametreiksi. Kun tallennettua toimintosarjaa kutsutaan, näille parametreille määritetyt arvot lisätään mytable-taulukkoon.
CREATE PROCEDURE myprocedure (a integer, b integer)
LANGUAGE SQL
AS $$
INSERT INTO mytable VALUES (a, b);
$$;
merkkijono käynnistetään ja päätetään $$-symbolilla. Voit käyttää myös puolilainausmerkkejä, mutta se voi aiheuttaa ongelmia muiden ohjelmointikielien kanssa, joten suosittelemme $$.