Articles

SQL Server Tallennettu Menettely Parametrit

edellisessä opetusohjelma, olet oppinut miten luoda yksinkertainen tallennettu menettely, joka kietoo SELECT lausunto. Kun kutsut tätä tallennettua menettelyä, se vain yksinkertaisesti suorittaa kyselyn ja palauttaa tulosjoukon.

tässä opetusohjelmassa laajennamme tallennettua menettelyä, jonka avulla voit siirtää sille yhden tai useamman arvon. Tallennetun menettelyn tulos muuttuu parametrien arvojen perusteella.,Luo tallennettu menettely, jossa yksi parametri

seuraava kysely palauttaa tuotteen luettelosta products taulukon näyte tietokanta:

Voit luoda tallennettu menettely, joka kietoo tämän kyselyn avulla CREATE PROCEDURE selvitys:

Code language: SQL (Structured Query Language) (sql)

Kuitenkin, tällä kertaa voimme lisätä parametrin tallennettu menettely löytää tuotteita, joiden luettelo hinnat ovat suuremmat kuin tulo hinta:

tässä esimerkki:

  • Ensimmäinen, me lisätty parametri nimeltä @min_list_price ja uspFindProducts tallennettu menettely., Jokaisen parametrin tulee alkaa @ – merkillä. AS DECIMAL avainsanat määritä tietotyyppi @min_list_price parametri. Parametri on ympäröitävä avaus-ja sulkusulkeilla.
  • Toiseksi, me käytetään @min_list_price parametri WHERE lauseke SELECT selvitys suodattaa vain tuotteita, joiden luettelo hinnat ovat suurempi tai yhtä suuri kuin @min_list_price.,

Täytäntöönpanosta tallennettu menettely, jossa yksi parametri

suorittaa uspFindProducts tallennettu menettely, voit siirtää argumentti sen seuraavasti:

Code language: SQL (Structured Query Language) (sql)

tallennetut menettely palauttaa kaikki tuotteet, joiden luettelo hinnat ovat suurempi tai yhtä suuri kuin 100.,

Jos muutat argumentti 200, saat eri tuloksen sarja:

Code language: SQL (Structured Query Language) (sql)

Luo tallennettu menettely, jossa on useita parametreja,

Tallennetut voi ottaa yhden tai useampia parametreja. Parametrit erotetaan pilkuilla.,iv> tallennettu menettely lisäämällä yksi parametri nimeltään @max_list_price sitä:

Kun tallennettu menettely on muutettu onnistuneesti, voit suorittaa sen ajamalla kaksi argumenttia, yksi @min_list_price ja @max_list_price:

Code language: SQL (Structured Query Language) (sql)

seuraavassa on esitetty output:

Käyttämällä nimettyjä parametreja

jos tallennettu menettelyt on useita parametreja, se on parempi ja selkeämpi toteuttaa tallennetut menettelyjä käyttäen nimettyjä parametreja.,

esimerkiksi, seuraavat sanat suorittaa uspFindProducts tallennettu menettely käyttää nimettyjä parametreja @min_list_priceja @max_list_price:

Code language: SQL (Structured Query Language) (sql)

tulosta tallennetut menettely on sama, kuitenkin lausunnon on ilmeinen.

Luo teksti-parametrit

seuraavan lausuman lisää @name parametri on merkkijono parametri tallennettu menettely.,

WHERE lauseke SELECT julkilausuman, voimme lisätä seuraava ehto:

Code language: SQL (Structured Query Language) (sql)

näin, tallennetut menettely palauttaa tuotteita, joiden luettelo hinnat ovat välillä min ja max luettelo, hinnat ja tuotteiden nimet sisältää myös palan tekstiä, että olet kulkea.,

Kun tallennettu menettely on muutettu onnistuneesti, voit suorittaa sen seuraavasti:

tässä lausunnossa on käytetty uspFindProducts tallennettu menettely löytää tuote, jonka luettelon hinnat ovat välillä 900 ja 1000 ja niiden nimet sisältävät sanan Trek.,

seuraava kuva osoittaa, teho:

Luo valinnaiset parametrit

Kun suoritat uspFindProducts tallennettu menettely, sinun on läpäistävä kaikki kolme argumenttia, jotka vastaavat kolme parametrit.

SQL Server avulla voit määrittää oletusarvot parametreja niin, että kun soitat tallennetut, voit ohittaa parametrit oletusarvoihin.,

Katso seuraavat tallennettu menettely:

tässä tallennettu menettely, me määritetty 0 oletus arvo @min_list_price parametri-ja 999,999 oletus arvo @max_list_price parametri.,

Once the stored procedure is compiled, you can execute it without passing the arguments to @min_list_price and @max_list_price parameters:

Code language: SQL (Structured Query Language) (sql)

In this case, the stored procedure used 0 for @min_list_price parameter and 999,999 for the @max_list_price parameter when it executed the query.,

@min_list_price ja @max_list_price parametrit ovat nimeltään valinnaisia parametreja.

tietenkin, voit myös siirtää argumentteja valinnaiset parametrit., Esimerkiksi seuraava lauseke palauttaa kaikki tuotteet, joiden luettelo hinnat ovat suurempi tai yhtä suuri kuin 6,000 ja nimet sisältävät sanan Trek:

Code language: SQL (Structured Query Language) (sql)

Käyttäen NULL oletusarvona

uspFindProducts tallennettu menettely, käytimme 999,999 oletuksena suurin luettelo hinta. Tämä ei ole vankkaa, koska tulevaisuudessa sinulla voi olla tuotteita, joiden listahinnat ovat suuremmat.,

tyypillinen tekniikka välttää tämä on käyttää NULL oletus arvo parametrit:

WHERE lauseke, muutimme ehto käsitellä NULL arvo @max_list_price parametri:

Code language: SQL (Structured Query Language) (sql)

seuraavan lausuman suorittaa uspFindProducts tallennettu menettely löytää tuote, jonka luettelon hinnat ovat suurempi tai yhtä suuri kuin 500 ja nimet sisältävät sanan Haro.,

Code language: SQL (Structured Query Language) (sql)

tässä opetusohjelmassa opit, miten luoda ja suorittaa tallennetut jossa on yksi tai useampia parametreja. Opit myös luomaan valinnaisia parametreja ja käyttämään nollia parametrien oletusarvoina.