Įvadas
Paskutinį kartą ketinau sutvarkyti visą pagrindinį SQL turinį, bet pastebėjau, kad laikrodis sukasi anksčiau nei aš to žinojau. Šis straipsnis tęsiamas toliau.
SMS žinutė
Pirmiausia sukurkime mums reikalingas lenteles
Pirmiausia vykdykime SQL sakinį
Šis kodas atima 0001 likutį iš 1000, o 0002 likutį iš 1000. Tačiau kurdami lentelę pridėjome apribojimų, o likutis turi būti didesnis arba lygus 10.
Rezultatai yra tokie:
Taigi ši kodo vykdymo klaida: "Sakinys UPDATE prieštarauja CHECK apribojimui "CH_balance". Konfliktas atsiranda duomenų bazėje "DemoDb" su lentele "dbo. Bankas", stulpelis "balansas"。” 。 Jei vienas sakinys yra klaida, tada ar kitas sakinys buvo sėkmingai įvykdytas.
Užklausos rezultatai yra tokie:
Pamatysime, kad kitame SQL sakinyje nėra klaidų, tačiau jis vis tiek nesėkmingai įsipareigo. Štai ką mes jums atskleisime.
#Sandoriai
Kas yra sandoris? Griežtai tariant, jei operacija tenkina atomiškumą, patvarumą, izoliaciją ir nuoseklumą, operacija vadinama operacija. Automatiškai pateikti operacijas: SQL serveryje. Pagal numatytuosius nustatymus kiekvienas SQL sakinys yra operacija. Rodyti operacijas: kiekviena operacija aiškiai prasideda sakiniu BEGIN TRANSACTION ir baigiasi aiškiai sakiniu COMMIT arba ROLLBACK.
Ką tik minėta demonstracinė versija baigėsi "Rollback", todėl SQL vykdymas neįsigalioja. Duomenys nebuvo sėkmingai modifikuoti.
Faktiškai kurdami ir taikydami, paprastai nustatome operacijų sluoksnį už ne užklausos pareiškimo ribų, kad užtikrintume duomenų vientisumą ir nuoseklumą pagal faktinius poreikius. Arba darykite viską, arba nedarykite visko.
Yra du sistemos kintamieji, kurie registruoja SQL, kuris yra sugedęs. - @@rowcount grąžina paveiktų eilučių skaičių @@error pateikia neteisingą kodavimą
Naudokime šiuos du sistemos kintamuosius, kad nustatytume, ar SQL nėra klaidos, ir vykdykime aukščiau nurodytus du SQL teiginius.
#Saugomos procedūros
Reikšmė: Įtraukite atliktą procesą (kuris gali būti sudėtingas) į pavadinimą ir naudokite šį pavadinimą procesui atlikti.
> Saugomos procedūros be parametrų
>Saugomos procedūros su parametrais
>Išsaugota procedūra su grąžinamąja verte
Pabandykite sugauti duomenų bazėje
Taip pat yra saugomų procedūrų su numatytaisiais parametrais, kurie buvo paminėti ankstesniame straipsnyje apie puslapių numeravimą.
Epilogas
Saugomos procedūros yra naudojamos daugiau mūsų faktinių projektų, daug senovės sistemų, verslo logika yra parašyta saugomos procedūros, ir žmonės už ją palaiko, ir jie tiesiog nori plaktuku šuns galvą priešais juos per kelias minutes. Paprastai kalbant, verslo logika rašoma kode, tačiau kiek kartų duomenys nuskaitomi iš duomenų bazės, o verslo logika rašoma saugojimo procese. Praėjusiais metais labai sudėtinga verslo logikos eilutė įmonės projekte buvo perkelta į saugojimo procesą, kuris padidino greitį dešimtis kartų. Žinoma, ypatingos aplinkybės yra traktuojamos specialiai. Konkretus pritaikymas priklauso nuo faktinio scenarijaus.
(Pastaba: aukščiau pateiktas turinys yra metų studijų užrašai, jei yra kas nors netinkamo, pataisykite!) )
|