MySQL SELECT INTO Proměnná

Souhrn: v tomto kurzu se naučíte používat MySQL SELECT INTO variable k ukládání výsledků dotazů do proměnných.

Syntaxe MySQL SELECT INTO Variable

Pro uložení výsledku dotazu do jedné nebo více proměnných použijete syntaxi SELECT INTO variable:

Code language: SQL (Structured Query Language) (sql)

V této syntaxi:

  • c1, c2 a c3 jsou sloupce nebo výrazy, které chcete vybrat a uložit do proměnných.
  • @v1, @v2 a @v3 jsou proměnné, do kterých se ukládají hodnoty z c1, c2 a c3.

Počet proměnných musí být stejný jako počet sloupců nebo výrazů v seznamu pro výběr. Kromě toho musí dotaz vrátit nula nebo jeden řádek.

Pokud dotaz nevrátí žádný řádek, MySQL vydá varování o absenci dat a hodnoty proměnných zůstanou nezměněny.

V případě, že dotaz vrátí více řádků, MySQL vydá chybu. Abyste zajistili, že dotaz vrátí vždy maximálně jeden řádek, použijete klauzuli LIMIT 1, která omezí množinu výsledků na jeden řádek.

Příklady MySQL SELECT INTO Proměnná

Pro ukázku použijeme tabulku customers v ukázkové databázi.

MySQL SELECT INTO příklad jedné proměnné

Následující příkaz získá město zákazníka s číslem 103 a uloží ho do proměnné @city:

Code language: SQL (Structured Query Language) (sql)

Následující příkaz zobrazí obsah proměnné @city:

Code language: SQL (Structured Query Language) (sql)

MySQL SELECT INTO multiple variables example

Chcete-li uložit hodnoty ze seznamu select do více proměnných, oddělujete proměnné čárkami. Například následující příkaz zjistí město a zemi zákazníka číslo 103 a uloží údaje do dvou odpovídajících proměnných @city a @country:

Code language: SQL (Structured Query Language) (sql)

Následující příkaz zobrazuje obsah proměnných @city a @country:

Code language: SQL (Structured Query Language) (sql)

MySQL SELECT INTO proměnná – příklad více řádků

Následující příkaz způsobí chybu, protože dotaz vrátí více řádků:

Code language: SQL (Structured Query Language) (sql)

Tady je výstup:

Code language: SQL (Structured Query Language) (sql)

Pro opravu použijete klauzuli LIMIT 1 takto:

Code language: SQL (Structured Query Language) (sql)

V tomto návodu jste se naučili používat syntaxi MySQL SELECT INTO variable pro uložení výsledku dotazu do jedné nebo více proměnných.

  • Pomohl vám tento návod?
  • AnoNení

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.