nedávno jsem dal dohromady lekci o tom, jak vytvářet uložené procedury. Je to součást mého uloženého postupu rozbaleného kurzu. Při vytváření uložených postupů můžete bezpečně zapouzdřit logiku a zároveň umožnit klientovi program snadný způsob, jak jej provést.
dal jsem tuto procházku dohromady, abyste viděli, jak celý proces funguje. Myslím, že než se ponoříme příliš hluboko do toho, jak vytvořit uložené procedury, má nejprve smysl vidět celý obraz.,
po sledování tohoto videa Vytvořte uložené postupy pro praxi. Zjistíte, že není tak těžké, jak každý dělá je být a budete mít jednu z dovedností junior DBA by měl vědět.
můžete se dozvědět více o tom tohle video, je zápis následující:
Pokud se chcete dozvědět více o tom, jak vytvořit uložené procedury, proč se můj kurz Uložené Procedury, Rozbaleno? Použijte kód kupónu BLOGPOST-201, abyste jej získali s výraznou slevou.,
Proč Potřebujeme Vytvářet Uložené Procedury??
to, Co budeme dělat v této lekci je vytvoření uložené procedury, pak spustit, že uložené procedury, a pak zobrazit výsledky, takže se nemusíte šílet, pokud se to zdá jako příliš mnoho!
myšlenka je zde jen ukázat vám hlavní kroky, jak vytvořit uložený postup.,
později projdeme všechny podrobnosti o tom, co uložený postup dělá, a různé aspekty uloženého postupu, například parametry.
uložené procedury vytvoříme je jedním vypočítat čas a cestovní vzdálenost. Takže kroky, které podnikneme, přijmeme vzdálenost a rychlost jako parametry. A na základě toho vypočítáme čas jako vzdálenost dělenou rychlostí a pak výsledek vrátíme. Tak, pojďme do toho a udělejte to.,
předtím, Než začneme a vytvářet uložené procedury, chci mluvit o tom, kde uložená procedura objekty jsou umístěny v Management Studio.
Jste obeznámeni s tím, kde tabulky jsou umístěny v Tabulkách, ale pokud si všimnete, že nebudete vidět nic tady, že mluví o uložené procedury. Tam, kde se uložené procedury skrývají, se v této oblasti nazývá programovatelnost.
kliknu na Otevřít programovatelnost, uvidíte, že zde jsou další složky a jedna se nazývá uložená procedura., A pak pod uloženou složkou postupu budou všechny uložené postupy, které byly vytvořeny.
to, co teď udělám, je otevřít nové okno dotazu, abychom mohli vytvořit náš první uložený postup. Vytvořil jsem okno dotazu, které ukazuje na databázi AdventureWorks, a v tomto okamžiku přinesu příkaz k vytvoření uloženého postupu. Chcete-li to provést, je to vytvořit postup a pak jako A pak začít a pak skončit.,
Toto je hlavní kosti nebo kostry, uložené procedury, mám to, co postup je, jeho jméno, a pak začátek a KONEC signálu, start a cíl řízení, a všechny příkazy, které patří do této uložené procedury budou umístěny do BEGIN a END.
než se dostanu mnohem dále, musím přidat parametry a parametry jdou mezi procesem vytvoření a AS. Zde udělám to, co uvedu do svých parametrů, a jak jsme o tom mluvili dříve, máme vzdálenost a rychlost.,
přináším parametr pro vzdálenost jako plovák, bude mít desetinnou hodnotu a rychlost. Všimněte si, že parametry mají @ sign před ním. Toto je postava, kterou získáte, když stisknete Shift a 2, a teď jsem připraven vložit kód.
první kus, který vložím, je část s NOCOUNTEM. NOCOUNT je v podstatě vložen tak, aby SQL nevracel další výsledky, které říkají, kolik řádků je vráceno v posledním výběru, který byl spuštěn.,
a nyní uvedu prohlášení o rychlosti, takže pár věcí, které se zde rychle ukážou, je, že používám nějakou logiku.
chystám se vyzkoušet, že pokud rychlost není rovno nule, pak se pojďme VYBERTE výraz, @vzdálenosti / @rychlosti, tak, znovu, to by bylo jako 120 mil děleno 60 mil za hodinu, aby nám dal dvě hodiny to trvalo.
tím se vrátí výsledek. Pokud se má rychlost rovná nule, což víte z matematiky, nemůžete něco dělit nulou, takže prostě vrátíme nulu.
toto je můj uložený postup., Uložený postup má název. Má parametry. Má NOCOUNT. Toto je standardní a pak je zde kód, který běží a provádí. Vrátíme vzdálenost dělenou rychlostí, takže v podstatě čas potřebný k cestování na vzdálenost podle toho, jak rychle jdeme. Velmi jednoduchý příklad, ale doufejme, že vám ukazuje, jak je vytvořen uložený postup.
takže, dovolte mi spustit tento vytvořit náš uložený postup. ou vidět, že to bylo úspěšné. Přijdu do svého databázového okna a obnovím ho a vrátím se do programovatelnosti, uložených postupů.,
a nyní můžete vidět, že je CalculateTime. Má nyní parametry a vrací celé číslo. Takže databáze zjistila, jaký je náš postup a jak bude zaškrtnuto.
pojďme spustit tento uložený postup. Už jsem dal příklad. Jak můžeme spustit náš uložený postup, je vytvořit nové okno dotazu a můžeme použít příkaz exec. Exec je zkratka pro exec a mohu zadat exec nebo Exec.
a teď provádím uloženou proceduru a tady říkám: „jedeme ve vzdálenosti 120 a jedeme 40 mil za hodinu.,“A když to spustím, mělo by se vrátit s hodnotou 3, a jak vidíte, vrátí se s 3.
kdybych měl změnit naši rychlost na nulu, co by se stalo? Vrací se to s nulou, protože pokud si pamatujete, měli jsme to prohlášení, které říkalo, že pokud je naše rychlost nulová, nemůžeme se dělit nulou, takže vraťte nulu. Opět platí, že pokud je množství rychlosti nulové, pokud rychlost není rovna nule, proveďte výpočet, jinak vyberte nulu.
zde je stručně řečeno, jak můžete vytvořit a spustit uložený postup., Vytvoříme uložený postup pomocí příkazu Vytvořit postup a pak jej můžeme spustit pomocí execute.
celá myšlenka zde není naučit vás, jak vytvořit uložený postup a poslat vás na cestu a říct: „Dobře. Můžeš jít. Neber si už žádné hodiny.“
je to jen proto, aby vám ukázal, že zde jsou počáteční kroky, jak vytvořit uložený postup, nechat si namočit nohy, abyste pochopili, že za tím není žádná tajná magie., Můžete jít ven právě teď do databáze a vytvořit velmi jednoduchý uložený postup pro výpočet přidat pár čísel dohromady a dokázat si, že to můžete udělat.
ve skutečnosti by to bylo skvělé cvičení. Jděte ven a zkuste jednoduchý uložený postup a přidejte dvě čísla dohromady, abyste věděli, že to dokážete.