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 INTO
vyberte hodnotu ze sloupce názvu a přiřaďte ji kl_customer_name
proměnná. - Zatřetí, ukažte jméno zákazníka pomocí
dbms_output.put_line
postupu.
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
customers
stůl. Tento záznam bude obsahovat celý řádekcustomers
tabulky. - Zadruhé, vyberte zákazníka, jehož id je 100, do
r_customer
zá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_name
k zadržení jména zákazníka a kontaktu. - Zadruhé použijte příkaz
SELECT INTO
k načtení zákaznických a kontaktních jmen zákazníka id 100 zcustomers
acontacts
tabulky 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