I MySQL er SCHEMA()
funktion er et synonym for DATABASE()
fungere. Det returnerer standarddatabasenavnet (nuværende).
Resultatet returneres som en streng i utf8
tegnsæt. Hvis der ikke er nogen standarddatabase, returnerer den NULL
.
Syntaks
Syntaksen ser sådan ud:
SCHEMA()
Ingen argumenter er påkrævet eller accepteret.
Eksempel
Her er et eksempel til demonstration:
SELECT SCHEMA();
Her er resultatet i mit terminalvindue:
+----------+ | SCHEMA() | +----------+ | NULL | +----------+
I dette tilfælde har jeg ikke en aktuel database, så resultatet er NULL
.
Lad os skifte til en database:
USE world;
Og kør det igen:
SELECT SCHEMA();
Resultat:
+----------+ | SCHEMA() | +----------+ | world | +----------+
Ingen argumenter accepteres
Sender eventuelle argumenter til SCHEMA()
resulterer i en fejl:
SELECT SCHEMA(wrong);
Resultat:
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
Gemmede rutiner
Inden for en lagret rutine (såsom en lagret procedure, lagret funktion osv.) er standarddatabasen den database, som rutinen er knyttet til, hvilket ikke nødvendigvis er det samme som den database, der er standard i den kaldende kontekst