Wenn Sie SQL ausschließlich zum Interagieren mit den räumlichen Tabellen in PostgreSQL oder SQLite verwenden, können Sie die Registrierung der Spalte "ST_Geometry" aufheben, bevor Sie eine räumliche Tabelle löschen. Andernfalls verwaist ein Datensatz in der Systemtabelle "ST_Geometry".
Aufheben der Registrierung einer ST_Geometry-Spalte in PostgreSQL
Bevor Sie SQL zum Löschen einer Tabelle mit einer registrierten ST_Geometry-Spalte verwenden, heben Sie deren Registrierung mit der Funktion "st_unregister_spatial_column function" auf.
Nachfolgend finden Sie die Syntax für die Funktion "st_unregister_spatial_column":
st_unregister_spatial_column(
'<database_name>',
'<schema_name>',
'<table_name>',
'<spatial_column_name>'
);
- Öffnen Sie eine Eingabeaufforderung oder eine Shell-Eingabeaufforderung.
- Melden Sie sich bei einem SQL-Editor als Besitzer der Tabelle an, und stellen Sie eine Verbindung mit der Datenbank her, die die Tabelle enthält, für die die Registrierung der ST_Geometry-Spalte aufgehoben werden soll.
In diesem Beispiel stellt der Benutzer "cleo" eine Verbindung mit der Datenbank "spatdat" her.
psql spatdat cleo
- Rufen Sie die Funktion "st_unregister_spatial_column" über die SQL-Eingabeaufforderung auf.
Hier wurde die Registrierung der Spalte "geo" der Wegpunkte-Tabelle im Schema "cleo" aufgehoben:
SELECT sde.st_register_spatial_column( 'spatdat', 'cleo', 'waypoints', 'geo' );
Die Registrierung der räumlichen Spalte kann nur vom Besitzer der Tabelle aufgehoben werden.
Aufheben der Registrierung einer ST_Geometry-Spalte in SQLite
Bevor Sie SQL zum Löschen einer Tabelle mit einer registrierten ST_Geometry-Spalte verwenden, heben Sie deren Registrierung mit "DropGeometryMetadata" auf.
Die Syntax für "DropGeometryMetadata" lautet wie folgt:
DropGeometryMetadata(
<'main'|NULL>,
<table_name>
);
Wenn Sie eine Verbindung zu SQLite über einen SQL-Client herstellen, stellen Sie eine main-Verbindung her. Sie können "main" oder "NULL" angeben, wobei davon ausgegangen wird, dass eine main-Verbindung hergestellt wird.
- Öffnen Sie einen SQL-Editor, und stellen Sie eine Verbindung mit der Datenbank her.
- Sie müssen die Bibliothek "ST_Geometry" laden, sofern dies nicht bereits erfolgt ist.
- Verwenden Sie "DropGeometryMetadata", um die Registrierung der Spalte "ST_Geometry" aufzuheben.
In diesem Beispiel wurde die Registrierung der Spalte "ST_Geometry" in der Tabelle "hazardous_sites" aufgehoben.
SELECT DropGeometryMetadata( 'main', 'hazardous_sites' );