ÒdinatèDe

SQL estoke pwosedi: kreye epi sèvi ak

SQL estoke pwosedi yo modil lojisyèl ègzèkutabl ki ka dwe estoke nan baz done a nan fòm lan nan plizyè objè. Nan lòt mo, li se yon objè ki gen SQL-deklarasyon. Pwosedi sa yo ki estoke yo ka ekzekite nan aplikasyon an kliyan yo ka resevwa yon pèfòmans bon. Anplis de sa, enstalasyon sa yo, se souvan yo rele soti nan lòt Scripts oswa menm nan nenpòt lòt seksyon.

entwodiksyon

Anpil moun kwè ke yo yo sanble ak pwosedi yo nan divès kalite lang yo pwogramasyon wo nivo (respektivman, eksepte pou MS SQL). Petèt sa a se vre. Yo gen paramèt ki similè yo, yo ka bay yon valè menm jan an. Anplis, nan kèk ka, yo antre nan kontak. Pou egzanp, yo yo konbine avèk baz done a DDL ak done yo DML, osi byen ke fonksyon itilizatè (Kòd non - UDF).

pwosedi SQL Aktyèlman ki estoke gen nan yon pakèt domèn avantaj ki distenge yo nan mitan lòt pwosesis sa yo. Sekirite, variation pwogram pwodiktivite - tout bagay sa atire itilizatè ap travay ak baz done, pi plis ak plis ankò. pikwa nan popilarite te vin pwosedi pou ane sa yo 2005-2010, lè mwen te resevwa pwogram lan ki soti nan "Microsoft la" anba non an «sèvè Jesyon SQL Studio». Avèk èd li yo, travay ak baz done te vin pi fasil, plis pratik ak plis ankò pratik. Ane apre ane, sa a metòd pou transmèt enfòmasyon pran popilarite nan anviwònman an pwogram. Jodi a, MS SQL sèvè se pwogram absoliman nòmal, ki pou itilizatè yo "kominike" ak baz done, te kanpe sou yon par ak "Excel".

Lè ou rele pwosedi a, li se imedyatman trete pa sèvè a san yo pa pwosesis nesesè ak entèvansyon itilizatè. Ou ka Lè sa a, fè nenpòt ki aksyon ak enfòmasyon an: sipresyon, ekzekisyon, chanjman. Plis pase tout bagay sa a se nan DDL-operatè a, ki moun ki yon sèl-handedly fè aksyon konplèks sou objè sa yo. Epi li tout k ap pase trè byen vit, ak sèvè a pa aktyèlman chaje. vitès sa a ak pwodiktivite kite ou byen vit transfere gwo kantite enfòmasyon ki soti nan itilizatè a nan sèvè ak vis vèrsa a.

Pou aplike travay sa a ak enfòmasyon ki, gen plizyè pwogram lang teknoloji. Men sa yo enkli, pou egzanp, PL / SQL soti nan sistèm nan jesyon baz done Oracle, PSQL nan InterBase ak sistèm firbir, osi byen ke klasik "maykrosoftovskih» TransACT-SQL an. Tout moun nan yo yo fèt yo kreye epi kouri pwosedi ki estoke, ki pèmèt ou sèvi ak algoritm pwòp yo sou yon pòtè baz done gwo. Li nesesè epi asire ke moun ki pote soti nan jesyon nan enfòmasyon sa yo, ka pwoteje tout bagay soti nan san otorizasyon twazyèm pati, epi, Se poutèt sa, kreyasyon, modifikasyon an oswa sipresyon nan done sèten.

pwodiktivite

Sa yo objè baz done ka pwograme nan diferan fason. Sa a pèmèt itilizatè yo chwazi ki kalite pwosesis ki ta ka pi apwopriye, ki ekonomis tan ak enèji. Anplis de sa, se pwosedi nan tèt li trete, enben, evite gwo tan ki pase sou kominikasyon ant sèvè a ak itilizatè a. ka modil la dwe rprogramasyon ak chanje nan bon direksyon an nan absoliman nenpòt ki lè. Espesyalman vo anyen vitès la ak ki lansman de SQL estoke pwosedi rive: pwosesis la se pi vit lòt menm jan an nan li, fè li yon pratik ak versatile.

sekirite

Sa a ki kalite pwosesis enfòmasyon diferan de pwosesis menm jan an nan ke li bay sekirite ranfòse. Sa a se asire ke pa lefèt ke lòt itilizatè yo soti nan pwosedi aksè ka elimine nèt. Sa a pral pèmèt Administratè a fè operasyon ak yo poukont yo, san yo pa pè entèrsèpsyon oswa aksè san otorizasyon nan baz done a.

done transfè

Kominikasyon ant yon pwosedi SQL estoke ak aplikasyon an kliyan se sèvi ak paramèt yo epi retounen valè. Lèt la se pa nesesè yo transmèt done yo nan yon pwosedi ki estoke, men enfòmasyon an (sitou sou demann itilizatè a), ak trete pou SQL. te yon lòt fwa ki estoke pwosedi ranpli travay li yo, li voye pakè yo done tounen (men, ankò, si yo vle) nan aplikasyon an rele lè l sèvi avèk yon varyete metòd pa ki ka aplike kòm yon rele nan yon pwosedi SQL estoke epi retounen, pou egzanp:

- transmisyon done via kalite Sòti paramèt;

- transmisyon done via deklarasyon an retou;

- Done transmisyon atravè seleksyon konpayi asirans la.

Epi, koulye a gade nan ki jan pwosesis sa a sanble andedan an menm.

1. Kreye Egzekitif-ki estoke nan pwosedi a SQL

Ou ka kreye yon pwosedi nan MS SQL (Managment Studio). Apre yo fin pwosedi a kreye, li se ki nan lis sou yon ne baz done pwogramasyon, nan ki se pwosedi a fèt pa operatè a nan kreyasyon an. Al touye SQL pwosedi ki estoke lè l sèvi avèk Egzekitif-yon pwosesis ki gen non nan objè.

Lè y ap kreye non an ki vini anvan pwosedi, ak Lè sa a te fè yon sèl oswa plis paramèt ke yo asiyen nan l '. Paramèt kapab si ou vle. Apre paramèt a (yo), sa vle di kò a nan pwosedi a, yo dwe ekri, li nesesè pote soti nan kèk operasyon ki nesesè yo.

Lefèt ke kò a ka gen varyab lokal, ki chita nan li, ak varyab sa yo, se lokal yo ak nan relasyon ak yon pwosedi yo. Nan lòt mo, yo ka konsidere kòm sèlman nan tretman yo kò Microsoft SQL sèvè. Ki estoke pwosedi nan ka sa a yo konsidere kòm lokal yo.

Se konsa, yo kreye yon pwosesis, nou bezwen yon non pwosedi ak omwen yon paramèt kòm yon kò pwosedi yo. Tanpri note ke yon opsyon ekselan nan ka sa a se kreyasyon an ak aplikasyon nan pwosedi ak yon non proje nan klasifikasyon an.

Kò a pwosedi ka gen nenpòt ki kalite operatè SQL, pou egzanp, tankou kreye yon tab, mete youn oswa plis ranje nan tablo a, etabli kalite a baz done ak karaktè, ak sou sa. Men, kò a pwosedi mete restriksyon sou kèk operasyon yo nan li. Gen kèk nan limit ki pi enpòtan yo ki nan lis pi ba a:

- kò a pa kreye nenpòt lòt pwosedi ki estoke;

- kò a pa dwe kreye yon enpresyon fo sou objè a;

- kò a pa kreye nenpòt deklanchman.

2. Mete varyab la nan kò a nan pwosedi a

Ou ka fè varyab lokal yo pwosedi a nan kò a, ak lè sa a yo yo pral nan yon kò pwosedi yo. Yon pratik ki byen, se yo kreye yon varyab nan kòmansman an nan ki estoke kò a pwosedi yo. Men, ou ka tou mete varyab nenpòt kote nan kò a nan objè a.

Pafwa ou ka avi ke kèk varyab yo mete nan ranje a menm, ak chak varyab separe pa yon vigil. Epitou sonje ke se varyab la genyen prefiks ak @. Nan kò a nan pwosedi a, ou ka mete yon varyab yo ki ou vle. Pou egzanp, ka yon varyab @ name1 ap anonse rive sou fen a nan kò a pwosedi yo. Yo nan lòd yo bay yon valè nan yon varyab te deklare lè l sèvi avèk yon seri done pèsonèl. Nan contrast nan sitiyasyon an lè plis pase yon varyab te deklare nan ranje a menm, se sèlman yon sèl seri done pèsonèl yo itilize nan sitiyasyon sa a.

Itilizatè yo souvan mande kesyon an: "Ki jan yo asiyen valè miltip nan yon deklarasyon yon sèl nan kò a nan pwosedi a 'Oke?. Enteresan kesyon, men sa a se pi fasil pase ou panse. Repons lan: avèk èd nan pè tankou «Chwazi Var = valè". Ou kapab sèvi ak pè sa yo, separe pa vigil.

3. Kreye yon pwosedi SQL estoke

Nan yon gran varyete egzanp sou moun ki montre kreye yon senp pwosedi ki estoke ak egzekite li. Sepandan, pwosedi a ka pran paramèt sa yo ki pwosesis la rele li pral gen yon valè fèmen nan li (men se pa toujou). Si yo matche ak, lè sa a kòmanse pwosesis yo ki koresponn nan kò a. Pou egzanp, si ou kreye yon pwosedi ki pral pran lavil la ansanm ak rejyon nan moun kap rele a epi retounen done yo sou ki kantite otè yo, al gade nan lavil la ki koresponn ak rejyon an. Pwosedi a pral sijè rechèch yon tab baz done nan otè, pou egzanp, peub, pou fè sa a kalkil otè. Pou w jwenn baz done sa yo, pou egzanp, Google la downloads script la SQL ak paj SQL2005.

Nan egzanp lan anvan yo, pwosedi a pran de paramèt, ki nan lang angle ta ka rele kondisyon @State ak @City. Kalite a done koresponn ak kalite a ki espesifye nan aplikasyon an. Kò a pwosedi gen varyab entèn @TotalAuthors (tout otè), epi li se varyab sa a itilize yo montre nimewo yo. Pwochen vini yon seleksyon seksyon demann ke tout konte. Finalman, se valè a kalkile parèt nan fennèt la pwodiksyon lè l sèvi avèk deklarasyon an ekri an lèt detache.

Ki jan yo fè yon pwosedi SQL estoke

Gen de fason yo fè pwosedi a. se yon fason a premye yo montre nan pase paramèt kòm se yon lis vigil-separe fè apre non an pwosedi yo. Sipoze nou gen de valè (tankou nan egzanp lan anvan). Valè sa yo pou yo ranmase lè l sèvi avèk varyab ak @State @City pwosedi yo. Nan metòd sa a, paramèt enpòtan nan lòd la transmisyon. Metòd sa a se rele sekans nan transmisyon nan agiman. Nan metòd, dezyèm lan, paramèt yo yo deja asiyen dirèkteman, nan ka sa a lòd la se pa enpòtan. Metòd sa a dezyèm se ke yo rekonèt kòm transmisyon maladi a nan yo te rele agiman.

Pwosedi a pouvwa yon ti kras patikilye devye nan tipik la. Tout menm bagay la, tankou nan egzanp lan anvan, men paramèt yo ap deplase isit la sèlman. Sa se se @City paramèt ki estoke premye, ak @State estoke pwochen nan valè a default. anviwònman an default se anjeneral atribye ba separeman. SQL estoke pwosedi yo paramèt kòm senp. Nan ka sa a, bay opsyon nan "UT a ranplase valè a default nan" CA ". Nan yon dezyèm reyalizasyon pase sèlman yon sèl valè agiman pou @City, ak @State défaut opsyon yo "CA". pwogramasyon ki gen eksperyans yo avize ke tout varyab yo default yo sitiye pi pre nan fen a nan lis la paramèt. Sinon, ekzekisyon a se pa posib, Lè sa a, ou gen nan travay ak transfè a nan yo te rele agiman ki pi long la ak plis ankò konplike.

4. Ki estoke Pwosedi SQL sèvè: fason pou retounen

Gen twa gwo fason yo voye done ki estoke nan pwosedi a rele. Yo yo ki nan lis pi ba a:

- retounen valè ki estoke pwosedi;

- Sòti paramèt ki estoke pwosedi;

- Chwazi youn nan pwosedi yo estoke.

4.1 valè Retounen nan pwosedi SQL estoke

Nan pwosedi sa a, pwosedi a kouche valè a nan varyab la lokal yo ak retounen li. Pwosedi a kapab tou dirèkteman retounen yon valè konstan. Nan egzanp sa a, nou te kreye yon pwosedi ki retounen kantite total moun ki ap sipòte. Si nou konpare sa a ak pwosedi a anvan, ou ka wè ke se valè a nan ekri an lèt detache ranplase pa ranvèse la.

Koulye a, kite pou yo gade nan ki jan yo fè pwosedi a epi montre valè a, retounen li. Pèfòmans pwosedi oblije etabli ak varyab enprime, ki se te pote soti apre pwosesis la. Avi ke olye pou yo enprime operatè a ka sèvi ak Chwazi-operatè a, pou egzanp, Chwazi @RetValue, ak OutputValue.

4.2 Sòti parameters SQL estoke pwosedi

ka Valè a repons dwe itilize yo retounen yon varyab sèl ki nou te wè nan egzanp lan anvan yo. Lè l sèvi avèk Sòti a pèmèt pwosedi a voye youn oswa plis varyab nan pati a rele. se Sòti paramèt deziye kòm tan sa a kle mo «Sòti» lè y ap kreye pwosedi yo. Si se paramèt la espesifye kòm yon paramèt pwodiksyon, objè a pwosedi dwe bay li yon valè. Ki estoke pwosedi SQL, egzanp nan yo ki ka wè anba a, nan yon ka retounen nan enfòmasyon final la.

Nan egzanp sa a, pral gen de wikenn Non: @TotalAuthors ak @TotalNoContract. Yo espesifye nan lis la paramèt. sa yo varyab yo asiyen valè nan kò a pwosedi yo. Lè nou sèvi ak paramèt yo pwodiksyon, moun kap rele a ka wè valè a mete nan kò a pwosedi yo.

Anplis de sa, nan senaryo a anvan, de varyab yo te deklare yo wè valè yo ke yo enstale pwosedi estoke, MS SQL sèvè kòm yon paramèt pwodiksyon. Lè sa a, se pwosedi a fèt pa aplike valè a nòmal «CA» paramèt. paramèt ki annapre yo pwodiksyon ak, Se poutèt sa, te deklare varyab yo pase nan fason ki preskri. Tanpri note ke lè yon mo kle pwodiksyon varyab tou espesifye isit la. Apre yo fin pwosedi a konplete avèk siksè, yo valè a tounen lè l sèvi avèk paramèt yo pwodiksyon parèt sou fenèt la mesaj.

4.3 Chwazi yon pwosedi SQL estoke

se teknik sa a yo itilize yo retounen yon seri nan tablo fòm valè done (anrjistreman a) pou rele yon pwosedi estoke. Nan egzanp sa a, SQL estoke pwosedi ak paramèt @AuthID mande tab "otè" pa filtraj dosye yo tounen pa sa a @AuthId paramèt. Chwazi operatè deside sa ki ta dwe retounen nan rele nan yon pwosedi estoke. Lè AuthId yon pwosedi ki estoke transmèt tounen. Tankou yon pwosedi se toujou retounen yon sèl dosye oswa okenn nan tout. Sepandan, pwosedi a ki estoke pa gen okenn restriksyon sou retounen nan plis pase yon antre. Anpil fwa egzanp ka jwenn nan ki done yo retounen chwazi lè l sèvi avèk paramèt ak varyab yo kalkile se fè lè yo bay yon plusieurs nan valè total.

an konklizyon

Yon pwosedi ki estoke se yon pwogram trè grav, yo tounen oswa transfere, osi byen ke etabli varyab ki nesesè akòz aplikasyon an kliyan. Depi se pwosedi a ki estoke egzekite sou sèvè a tèt li, ka done echanj nan komèsan laj ant sèvè a ak aplikasyon an kliyan (pou kèk kalkil) dwe evite. Sa fè li posib diminye chay la sou sèvè a SQL, ki, nan kou, se men nan nan moun ki gen yo. Youn nan subspecies yo yo estoke pwosedi T SQL, men etid yo ki nesesè yo sa yo ki enplike nan kreyasyon an nan yon baz done enpresyonan. Genyen tou yon gwo, menm kantite lajan gwo nuans ki kapab itil nan etid la nan pwosedi ki estoke, sepandan, bezwen sa a pou moun ki ap planifye fè pwogram sere, ki gen ladan pwofesyonèl.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ht.delachieve.com. Theme powered by WordPress.