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
jauspFindProducts
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
parametriWHERE
lausekeSELECT
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_price
ja @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.