USE SCHEMA

Gibt das aktive/aktuelle Schema für die Sitzung an:

  • Wenn für eine Sitzung keine Datenbank angegeben ist, müssen alle Objekte, die in Abfragen und anderen SQL-Anweisungen, die in der Sitzung ausgeführt werden, referenziert werden, mit der Datenbank und dem Schema, auch bekannt als Namespace, für das Objekt vollständig qualifiziert sein (in Form von db_name.schema_name.object_name). Weitere Informationen zu vollständig qualifizierten Objektnamen finden Sie unter Auflösung von Objektnamen.

  • Wenn für eine Sitzung eine Datenbank, aber kein Schema angegeben ist, müssen alle Objekte, die in Abfragen und anderen SQL-Anweisungen referenziert sind, die in der Sitzung ausgeführt werden, mit dem Schema für das Objekt qualifiziert werden (in Form von schema_name.object_name).

  • Wenn die Datenbank und das Schema für eine Sitzung des Benutzers angegeben sind, sind unqualifizierte Objektnamen in SQL-Anweisungen und Abfragen erlaubt.

Siehe auch:

CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, SHOW SCHEMAS

Syntax

USE [ SCHEMA ] [<db_name>.]<name>
Copy

Parameter

[db_name.]name

Gibt den Bezeichner an, den das Schema für die Sitzung verwenden soll. Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.

Das Schlüsselwort SCHEMA ist optional, wenn der Name des Schemas vollständig qualifiziert ist (in Form von db_name.schema_name).

Der Datenbankname (db_name) ist optional, wenn die Datenbank in der Sitzung des Benutzers angegeben wird und das Schlüsselwort SCHEMA enthalten ist.

Beispiele

Verwenden Sie das Schema myschema mit der Datenbank, die in der Sitzung des Benutzers angegeben wurde:

USE SCHEMA myschema;
Copy

Verwenden Sie das Schema myschema in der Datenbank mydb:

USE mydb.myschema;
Copy

Das folgende Beispiel zeigt, wie Befehle, die sich auf Objekte mit unqualifizierten Namen beziehen, nach einem USE-Befehl zum Wechseln der Schemas unterschiedliche Ausgaben erzeugen. Die Tabellen, Tabellendaten, Ansichten, benutzerdefinierten Funktionen usw. können sich von Schema zu Schema unterscheiden.

Wenn der SHOW TABLES-Befehl im Kontext schema_one von ausgeführt wird, wird eine Ausgabe erzeugt, die die Objekte in diesem Schema widerspiegelt:

USE SCHEMA schema_one;
SHOW TABLES ->> SELECT "created_on", "name" FROM $1 ORDER BY "created_on";
Copy
+-------------------------------+-----------+
| created_on                    | name      |
|-------------------------------+-----------|
| 2025-07-13 23:48:49.129 -0700 | TABLE_ABC |
| 2025-07-13 23:49:50.329 -0700 | TABLE_DEF |
+-------------------------------+-----------+

Nach einem USE-Befehl zum schema_two-Schema wechselt, erzeugt der SHOW TABLES-Befehl eine Ausgabe, die einen anderen Satz von Objekten widerspiegelt:

USE SCHEMA schema_two;
SHOW TABLES ->> SELECT "created_on", "name" FROM $1 ORDER BY "created_on";
Copy
+-------------------------------+-----------+
| created_on                    | name      |
|-------------------------------+-----------|
| 2025-07-13 23:52:06.144 -0700 | TABLE_IJK |
| 2025-07-13 23:53:29.851 -0700 | TABLE_XYZ |
+-------------------------------+-----------+

Im folgenden Beispiel wechseln Sie von einem Schema zu einem anderen und dann wieder zurück zum ursprünglichen Schema. Der Name des ursprünglichen Schemas wird in einer -Variablen gespeichert. Führen Sie die folgenden Befehle aus:

SELECT CURRENT_SCHEMA();
SET original_schema = (SELECT CURRENT_SCHEMA());
USE SCHEMA schema_two;
SELECT CURRENT_SCHEMA();
USE SCHEMA IDENTIFIER($original_schema);
SELECT CURRENT_SCHEMA();
Copy

Die Ausgabe für diese Befehle zeigt, wie sich der aktuelle Schemawert ändert:

>SELECT CURRENT_SCHEMA();
+------------+
| SCHEMA_ONE |
+------------+

>SET original_schema = (SELECT CURRENT_SCHEMA());

>USE SCHEMA schema_two;
>SELECT CURRENT_SCHEMA();
+------------+
| SCHEMA_TWO |
+------------+

>USE SCHEMA IDENTIFIER($original_schema);
>SELECT CURRENT_SCHEMA();
+------------+
| SCHEMA_ONE |
+------------+