PL / SQL SELECT INTO (Čeština)
Shrnutí: v tomto kurzu se naučíte, jak používat PL / SQL SELECT INTO k načtení dat jednoho řádku z tabulky do proměnných.
PL / SQL SELECT INTO příkaz je nejjednodušší a nejrychlejší způsob načtení jednoho řádku z tabulky do proměnných. Následující text ilustruje syntaxi příkazu PL / SQL SELECT INTO:
V této syntaxi je počet sloupce v variable_list musí být stejné jako počet proměnných (nebo počet složek záznamu) v select_list. Kromě toho musí být jejich odpovídající datový typ kompatibilní.
Kromě klauzule WHERE můžete v klauzuli SELECT prohlášení jako INNER JOIN, GROUP BY, HAVING a UNION.
Pokud příkaz SELECT vrátí více než jeden řádek, Oracle zvýší TOO_MANY_ROWS výjimka. Pokud příkaz SELECT nevrátí žádný řádek, Oracle vyvolá výjimku NO_DATA_FOUND.
PL / SQL SELECT DO PŘÍKLADŮ
Použijme pro ukázku tabulky customers a contacts ve vzorové databázi.
A) PL / SQL SELECT INTO – výběr příkladu jednoho sloupce
Následující příklad používá příkaz SELECT INTO k získání jména zákazníka na základě ID zákazníka, což je primární klíč customers tabulka.
V tomto příkladu:
- Nejprve deklarujte proměnnou
l_customer_name, jejíž datový typ ukotvení ke sloupcům názvů v tabulce zákazníků. Tato proměnná bude obsahovat jméno zákazníka. - Zadruhé pomocí příkazu
SELECT INTOvyberte hodnotu ze sloupce názvu a přiřaďte ji kl_customer_nameproměnná. - Zatřetí, ukažte jméno zákazníka pomocí
dbms_output.put_linepostupu.
Protože customers tabulka obsahuje pouze jeden řádek s ID zákazníka 100, v bloku kódu se zobrazuje jméno zákazníka.
Pokud neexistoval žádný takový řádek, blok kódu by selhal s neošetřenou NO_DATA_FOUND výjimkou.
B) PL / SQL SELECT INTO – výběr úplného příkladu řádku
Následující příklad načte celý řádek z customers tabulky pro konkrétní ID zákazníka:
Zde je výstup:
V tomto příkladu:
- Nejprve deklarujte záznam na základě řádku
customersstůl. Tento záznam bude obsahovat celý řádekcustomerstabulky. - Zadruhé, vyberte zákazníka, jehož id je 100, do
r_customerzáznam. - Za třetí, ukažte jméno a web zákazníka.
C) PL / SQL VÝBĚR DO – výběr dat do více proměnných příklad
Následující příklad načte jména zákazníků a kontaktů z tabulek customers a contacts pro konkrétní ID zákazníka.
Oracle vydal následující výstup:
V tomto příkladu:
- Nejprve deklarujte tři proměnné
l_customer_name,l_contact_first_name,l_contact_last_namek zadržení jména zákazníka a kontaktu. - Zadruhé použijte příkaz
SELECT INTOk načtení zákaznických a kontaktních jmen zákazníka id 100 zcustomersacontactstabulky do odpovídajících proměnných -
l_customer_name,l_contact_first_name,l_contact_last_name. - Za třetí, zobrazte jména zákazníků a kontaktů.
PL / SQL VYBERTE DO BĚŽNÝCH chyb
Pokud počet sloupců a výraz v SELECT klauzule je větší než počet proměnných v klauzuli INTO, Oracle vydá tuto chybu:
Oracle vydá následující chybu, pokud je počet sloupců a výrazů v klauzuli SELECT menší než počet proměnných v klauzuli INTO:
Pokud je počet proměnných a prvků ve výběrovém seznamu stejný, ale jejich odpovídající datové typy nejsou kompatibilní, takže Oracle nemůže implicitně převádět z jednoho typu na jiný. Vydá následující chybu:
Nyní byste měli vědět, jak používat PL / SQL SELECT INTO příkaz k načtení jednoho řádku z tabulky do proměnných.
- Byl tento výukový program užitečný?
- Ano, ne