V MySQL je to SCHEMA()
funkce je synonymem pro DATABASE()
funkce. Vrací výchozí (aktuální) název databáze.
Výsledek je vrácen jako řetězec v utf8
znaková sada. Pokud neexistuje žádná výchozí databáze, vrátí NULL
.
Syntaxe
Syntaxe vypadá takto:
SCHEMA()
Nejsou vyžadovány ani přijímány žádné argumenty.
Příklad
Zde je příklad k demonstraci:
SELECT SCHEMA();
Zde je výsledek v okně mého terminálu:
+----------+ | SCHEMA() | +----------+ | NULL | +----------+
V tomto případě nemám aktuální databázi, takže výsledek je NULL
.
Pojďme se přepnout do databáze:
USE world;
A spusťte to znovu:
SELECT SCHEMA();
Výsledek:
+----------+ | SCHEMA() | +----------+ | world | +----------+
Nepřijímáme žádné argumenty
Předání jakýchkoli argumentů do SCHEMA()
výsledkem je chyba:
SELECT SCHEMA(wrong);
Výsledek:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'wrong)' at line 1
Uložené rutiny
V rámci uložené rutiny (jako je uložená procedura, uložená funkce atd.) je výchozí databáze databáze, ke které je rutina přidružena, což nemusí být nutně stejné jako databáze, která je výchozí v kontextu volání