KomputerBasis data

SQL disimpen prosedur: nyieun sarta pamakéan

SQL disimpen prosedur anu modul software laksana nu bisa disimpen dina pangkalan data dina wangun rupa objék. Kalayan kecap séjén, éta hiji obyék nu ngandung SQL-pernyataan. Ieu prosedur disimpen bisa dieksekusi dina aplikasi klien pikeun meunangkeun kinerja alus. Sajaba ti éta, fasilitas sapertos anu sering disebut tina Aksara séjén atawa malah ti sagala bagian séjén.

perkenalan

Loba jalma yakin yén aranjeunna sarupa jeung prosedur rupa-rupa basa programming-tingkat tinggi (mungguh, iwal MS SQL). Sugan ieu leres. Aranjeunna mibanda parameter sarupa, aranjeunna bisa ngaluarkeun nilai sarupa. Leuwih ti éta, dina sababaraha kasus, maranéhna datang kana kontak. Contona, aranjeunna digabungkeun jeung basis data tina DDL tur data DML, kitu ogé fungsi pamaké (ngaran kode - UDF).

prosedur SQL sabenerna disimpen boga rupa-rupa kaunggulan anu ngabédakeun éta diantara proses sapertos. Kasalametan, variability produktivitas programming - kabeh ieu metot pamaké gawé bareng basis data, beuki loba. Puncak popularitas sumping prosedur pikeun taun 2005-2010, basa kuring ngagaduhan program ti "Microsoft" dina ngaran «SQL Server Manajemén Studio». Kalayan pitulung na, karya jeung basis data geus jadi laér leuwih gampang, leuwih praktis tur leuwih merenah. Taun sanggeus sataun, ieu metoda nepikeun informasi massana popularitas di lingkungan programming. Dinten, MS SQL Server nyaeta program pancen biasa, nu for nu "berkomunikasi" jeung basis data, ngadeg dina tara mibanda "Excel".

Lamun anjeun nyauran prosedur, mangka instan diolah ku server tanpa prosés perlu na campur pamaké. Anjeun teras bisa nedunan sagala aksi kalayan informasi nu: ngahapus, palaksanaan, robah. Leuwih sadayana ieu dina DDL-operator, anu single-handedly ngalakukeun tindakan kompléks on pamadegan objék. Sarta eta kabeh kajadian kacida gancangna, sarta server teu sabenerna dimuat. speed na produktivitas Ieu hayu anjeun gancang mindahkeun jumlahna ageung informasi ti pamaké ka server sabalikna.

Pikeun nerapkeun karya ieu kalayan informasi, aya sababaraha téknologi basa programming. Ieu kaasup, upamana, PL / SQL ti sistem manajemen database Oracle, PSQL di InterBase sarta Sistem Firebird, ogé Palasik "maykrosoftovskih» Transact-SQL. Sakabéh aranjeunna anu dirancang nyieun tur ngajalankeun prosedur disimpen, sahingga anjeun ngagunakeun algoritma sorangan dina pawang database badag. Ieu perlu sarta pikeun mastikeun yén jalma anu ngalakonan manajemén inpormasi kitu, bisa ngajaga sagala obyek tina pihak katilu diidinan sarta, ku kituna, kreasi, modifikasi atawa ngahapus data tangtu.

kakuwatan keur ngasilkeun

objék database ieu bisa diprogram dina cara béda. Hal ieu ngamungkinkeun pamaké pikeun milih jinis prosés nu bakal jadi paling luyu, nu ngaheéat waktu jeung tanaga. Sajaba ti éta, prosedur sorangan diolah, sahingga Ngahindarkeun waktos badag spent dina komunikasi antara server na pamaké. modul nu bisa reprogrammed sarta robah tujuan nu moal méncog dina pancen wae. Utamana sia noting speed sareng nu peluncuran prosedur SQL disimpen lumangsung: prosés nu geus gancang lianna nu sarupa jeung éta, sahingga hiji merenah tur serbaguna.

kasalametan

jenis ieu ngolah émbaran beda prosés sarupa di yén éta nyadiakeun kaamanan ditingkatkeun. Ieu ensured ku kanyataan yén pamaké séjén ti prosedur ngakses bisa ngaleungitkeun sagemblengna. Ieu bakal ngidinan Administrator pikeun ngalaksanakeun operasi sareng maranehna bebas, tanpa sieun interception atanapi aksés diidinan kana databés.

mindahkeun data

Komunikasi antara prosedur SQL disimpen sarta aplikasi klien nyaeta ngagunakeun parameter jeung nilai balik. dimungkinkeun mah teu perlu pikeun ngirimkeun data pikeun prosedur disimpen, tapi informasi (utamana dina pamundut pamaké), sarta diprosés pikeun SQL. Prosedur Sakali disimpen geus réngsé proyek anak, eta ngirimkeun éta pakét data deui (tapi, deui, upami hoyong) kana aplikasi nelepon ngagunakeun rupa-rupa métode ku nu bisa dilaksanakeun salaku panggero ka prosedur SQL disimpen na mulang, contona:

- pangiriman data via tipe parameter Kaluaran;

- pangiriman data via pernyataan balik;

- transmisi Data via Pilihan pamawa.

Tur ayeuna kasampak di kumaha proses ieu Sigana nu di jero sarua.

1. Jieun EXEC-disimpen dina prosedur SQL

Anjeun tiasa nyieun prosedur dina MS SQL (Managment Studio). Sanggeus prosedur ieu dijieun, éta kadaptar dina titik database programmable, nu prosedur ieu dipigawé ku operator ciptaan. Sangkan ngaéksekusi SQL prosedur disimpen maké EXEC-prosés nu ngandung nami obyék.

Nalika nyieun ngaran asalna prosedur mimitina, lajeng dijadikeun salah sahiji atawa leuwih parameter nu ditugaskeun ka anjeunna. Parameter tiasa pilihan. Saatos parameter (s), nyaéta awak prosedur, bisa ditulis, perlu pikeun ngalaksanakeun sababaraha operasi perlu.

kanyataan yén awak bisa mibanda variabel lokal, lokasina di dinya, sarta variabel ieu lokal tur dina hubungan jeung prosedur. Dina basa sejen, aranjeunna bisa dianggap ukur dina perlakuan awakna Microsoft SQL Server. prosedur disimpen dina hal ieu dianggap lokal.

Ku kituna, pikeun nyieun proses nu kami kudu ngaran prosedur na sahanteuna hiji parameter salaku badan prosedur. Perhatikeun yén hiji pilihan unggulan dina hal ieu nyaeta kreasi sarta palaksanaan prosedur sareng ngaran schema di classifier nu.

Awak prosedur tiasa gaduh nanaon nu operator SQL, contona, kayaning nyieun méja, inserting salah sahiji atawa leuwih jajar tabél, ngadegkeun éta jenis database na karakter, jeung saterusna. Tapi, awak prosedur Batesan sababaraha operasi di dinya. Sababaraha watesan pangpentingna nu dibéréndélkeun di handap:

- awak teu nyieun sagala prosedur disimpen séjén;

- awak teu kudu nyieun gambaran palsu ngeunaan obyék;

- awak teu nyieun micu nanaon.

2. Siapkeun variabel dina awak prosedur

Anjeun tiasa nyieun variabel lokal jeung prosedur awak, sarta saterusna maranéhanana bakal aya dina awak prosedur. A prakték alus nya éta nyieun variabel hiji di awal awak prosedur disimpen. Tapi anjeun oge tiasa nyetel variabel mana dina awakna obyék.

Kadang-kadang nu bisa mere nyaho yen sabagian variabel nu disetél dina baris anu sarua, sarta unggal variabel dipisahkeun ku koma. Ogé dicatet yén variabel ieu prefixed kalawan @. Dina awak prosedur, Anjeun tiasa nyetel hiji variabel nu rék. Contona, variabel @ NAME1 bisa ngumumkeun nuju tungtung awak prosedur. Dina raraga ngadaptarkeun nilai keur variabel nu nyatakeun maké set data pribadi. Kontras jeung kaayaan nalika leuwih ti hiji variabel ngadéklarasikeun di baris sarua, ngan hiji set data pribadi anu digunakeun dina situasi ieu.

Pamaké mindeng nanyakeun sual éta: "Kumaha mun napelkeun sababaraha nilai dina pernyataan tunggal dina awak prosedur 'Muhun?. Patarosan metot, tapi ieu téh loba gampang ti anjeun pikir. jawaban: kalayan bantuan pasang kayaning «Pilih Var = nilai". Anjeun tiasa make pasang ieu, dipisahkeun ku koma.

3. Jieun prosedur SQL disimpen

Dina rupa-rupa conto jalma némbongkeun nyieun prosedur disimpen basajan tur ngaéksekusi eta. Sanajan kitu, prosedur butuh parameter misalna yén prosés nélépon éta bakal boga nilai deukeut ka dinya (tapi teu salawasna). Mun aranjeunna cocog, teras dimimitian prosés pakait dina awak. Contona, lamun nyieun prosedur anu bakal nyokot kota jeung wewengkon tina panelepon tur balik data ngeunaan sabaraha éta pangarang tingal kota pakait jeung wewengkon. Prosedur bakal pamundut hiji méja database sahiji pangarang, contona, Pubs, keur ngalakukeun itungan ieu pangarang. Pikeun ménta basis data ieu, contona, Google undeuran skrip SQL kalayan kaca SQL2005.

Dina conto samemehna, prosedur nyokot dua parameter, anu dina basa Inggris bakal disebut conditionally @State na @City. Tipeu data pakait kana tipe husus dina aplikasi. Awak prosedur boga variabel internal @TotalAuthors (sadayana pangarang), sarta variabel ieu dipaké pikeun nembongkeun jumlah maranéhanana. Salajengna asalna pamilih pamundut bagian anu sagala diitung. Tungtungna, anu nilai diitung dipintonkeun dina jandela kaluaran ngagunakeun pernyataan print.

Kumaha nedunan prosedur SQL disimpen

Aya dua cara pikeun ngalakukeun prosedur. Cara kahiji ditémbongkeun ku jalan ngalirkeun parameter salaku daptar koma-dipisahkeun dipigawé sanggeus nami prosedur. Anggap urang mibanda dua nilai (sakumaha dina conto saméméhna). nilai ieu dikumpulkeun maké variabel sarta prosedur @State @City. Dina metoda ieu, parameter penting tina urutan transmisi. Metoda ieu disebut runtuyan népana alesan. Dina metoda kadua, parameter nu geus ditugaskeun langsung, nu hal ordo teu penting. Metoda kadua ieu dipikawanoh salaku pangiriman alesan ngaranna.

prosedur mungkin rada nyimpang tina has. Kabéh sarua, saperti dina conto saméméhna, tapi parameter nu bergeser dieu wungkul. Maksudna @City parameter disimpen heula, sarta @State disimpen gigireun nilai standar. Setelan standar ieu biasana disadiakeun nyalira. SQL prosedur disimpen aya parameter sakumaha basajan. Dina hal ieu, nu disadiakeun pilihan "nu UT 'ngagantikeun nilai standar tina" CA ". Dina perwujudan kadua pas ngan hiji nilai argumen pikeun @City, sarta ingkar pilihan @State ka "CA". programer ngalaman disarankan yén sakabéh variabel standar anu lokasina ngadeukeutan ka ahir daptar parameter. Upami teu kitu, palaksanaan nu teu mungkin, mangka anjeun kudu digawekeun ku alih alesan ngaranna yén panjang jeung leuwih pajeulit.

4. Prosedur Disimpen SQL Server: cara tina balik

Aya tilu cara utama pikeun ngirim data nu disimpen dina disebutna prosedur. Éta nu dibéréndélkeun di handap:

- nilai balik prosedur disimpen;

- parameter Kaluaran disimpen prosedur;

- Pilih salah sahiji prosedur disimpen.

4.1 nilai Balik deui ngeunaan prosedur SQL disimpen

Dina prosedur ieu, prosedur susunan nilai variabel lokal jeung mulih deui. prosedur ogé bisa langsung balik a nilai konstan. Dina conto di handap ieu, urang geus nyieun prosedur nu mulih total jumlah sponsor. Lamun urang ngabandingkeun ieu kalawan prosedur saméméhna, anjeun bisa nempo yén niléy print diganti ku sabalikna.

Ayeuna hayu urang nempo kumaha nedunan prosedur na nembongkeun nilai, balik deui. Pintonan prosedur diperlukeun pikeun ngadegkeun sarta variabel percetakan nu dilumangsungkeun sanggeus prosés. Bewara nu tinimbang percetakan operator bisa nganggo Pilih-operator, contona, Pilih @RetValue, sarta OutputValue.

4.2 prosedur Kaluaran parameter SQL disimpen

Nilai respon bisa dipaké pikeun balik variabel tunggal nu urang katingal dina conto saméméhna. Ngagunakeun Kaluaran nu ngamungkinkeun prosedur pikeun ngirim hiji atawa leuwih variabel kana pihak nelepon. parameter kaluaran dilambangkeun ku waktu Kecap konci ieu «kaluaran» nalika nyieun prosedur. Mun parameter anu dieusian salaku hiji parameter output, objek prosedur kudu napelkeun eta nilai a. prosedur disimpen SQL, conto anu bisa ditempo di handap, dina hal sapertos balik ka émbaran final.

Dina conto ieu, bakal aya ngaran dua weekends: @TotalAuthors na @TotalNoContract. Éta téh dieusian dina daptar parameter. variabel ieu dibéré nilai jeroeun awak prosedur. Nalika kami nganggo parameter output, panelepon bisa ningali nilai disetél dina awak prosedur.

Sajaba ti éta, dina skenario saméméhna, dua variabel nu nyatakeun ningali nilai nu dipasang prosedur disimpen, MS SQL Server salaku hiji parameter kaluaran. Lajeng prosedur ieu dipigawé ku nerapkeun nilai normal «CA» parameter. Parameter di handap ieu mangrupakeun kaluaran jeung, ku kituna, ngadéklarasikeun variabel anu diliwatan dina ragam prescribed. Perhatikeun yén lamun keyword kaluaran variabel ogé dieusian dieu. Sanggeus prosedur ieu réngsé hasil, anu nilai dipulang ku ngagunakeun paraméter kaluaran dipintonkeun dina jandela pesen.

4.3 Milih hiji SQL disimpen prosedur

Téhnik ieu dipaké pikeun balik a set dina formulir tabel nilai data (RecordSet) pikeun nelepon prosedur disimpen. Dina conto ieu, SQL prosedur disimpen mibanda parameter @AuthID requests tabel "pangarang" ku nyaring rékaman dipulang ku parameter @AuthId ieu. Pilih operator megatkeun naon anu kudu dipulangkeun ka nelepon prosedur disimpen. Nalika prosedur disimpen AuthId dikirimkeun deui. Misalna prosedur sok mulih ngan hiji catetan atawa taya pisan. Sanajan kitu, prosedur disimpen teu ngagaduhan larangan dina balikna leuwih ti hiji entri. Mindeng conto bisa kapanggih nu data balik dipilih maké parameter jeung variabel diitung geus dilakukeun ku nyadiakeun pluralitas total nilai.

dina kacindekan

A prosedur disimpen mangrupakeun program geulis serius, balik atawa dipindahkeun, kitu ogé ngadegkeun variabel diperlukeun alatan éta aplikasi klien. Kusabab prosedur disimpen ieu dibales dina server sorangan, bursa data dina jilid badag antara server jeung aplikasi klien (pikeun sababaraha itungan) bisa dihindari. Ieu ngamungkinkeun pikeun ngurangan beban dina SQL Server, nu, tangtosna, nyaeta perantaraan Panyekel maranéhanana. Salah sahiji subspésiés disimpen prosedur T SQL, tapi ulikan maranéhanana diperlukeun pikeun maranéhanana aub dina kreasi hiji database impressive. Aya ogé badag, sanajan jumlah badag nuances nu bisa jadi mangpaat dina pangajaran prosedur disimpen, kumaha oge, kedah kieu pikeun maranéhanana anu aya rarancang pikeun ngalakukeun programming kedap, kaasup professionally.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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