Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird Datenbank - Tabellenname ändern?! (https://www.delphipraxis.net/102012-firebird-datenbank-tabellenname-aendern.html)

Eppos 22. Okt 2007 10:04

Datenbank: Firebird • Version: 1.5 • Zugriff über: BDE

Firebird Datenbank - Tabellenname ändern?!
 
Hallo zusammen,

ist es möglich den tabellenname zu ändern?

Vielen Dank!

Gruß,
Eppos

mkinzler 22. Okt 2007 10:37

Re: Firebird Datenbank - Tabellenname ändern?!
 
-Neue Tabelle anlegen
-Daten transferieren
-alte Tabelle löschen

Eppos 22. Okt 2007 10:39

Re: Firebird Datenbank - Tabellenname ändern?!
 
schade, ich habe es befürchtet.
trotzdem Danke!

mkinzler 22. Okt 2007 12:06

Re: Firebird Datenbank - Tabellenname ändern?!
 
Sollte doch schnell gehen.

Phoenix 22. Okt 2007 12:12

Re: Firebird Datenbank - Tabellenname ändern?!
 
Ist doch easy:

CREATE neuetabelle
(spalten aus alter tabelle);

SELECT * INTO neuetabelle FROM altetabelle;

DROP TABLE altetabelle;

marabu 22. Okt 2007 12:20

Re: Firebird Datenbank - Tabellenname ändern?!
 
Hallo,

den DDL-Code kann man sich von IBExpert erstellen lassen, aber in Anwesenheit von Deklarativer Referentieller Integrität wird das Vorhaben schon etwas aufwändiger. Da ist es schon verständlich, warum andere SQL-Implementierungen ALTER TABLE U RENAME TO X o.ä. verarbeiten.

Grüße vom marabu

mschaefer 22. Okt 2007 15:23

Re: Firebird Datenbank - Tabellenname ändern?!
 
By Oracle geht sogar sowas:

SQL-Code:
CREATE neuetabelle AS SELECT * FROM altetabelle; DROP TABLE altetabelle;
PS: Hoffe das findet sich bald in Firebird wieder!

Grüße // Martin

IBExpert 23. Okt 2007 20:22

Re: Firebird Datenbank - Tabellenname ändern?!
 
Zitat:

Zitat von mschaefer
By Oracle geht sogar sowas:

SQL-Code:
CREATE neuetabelle AS SELECT * FROM altetabelle; DROP TABLE altetabelle;
PS: Hoffe das findet sich bald in Firebird wieder!

Grüße // Martin

In IBExpert findet man das für ib/fb schon lange wieder, einfach im sql Editor
insert into neuetabelle select * from altetabelle

falls die neue tabelle noch nicht existiert wird die angelegt, aber auch
ohne Trigger etc.

alternative: einfach auf der alten tabelle auf die ddl seite gehen, alles
über die Zwischenablage in den script executive reinpacken, tabellennname
per suchen/ersetzen ändern und dann ausführen. meist sieht man aber erst
dann beim Einspielen der Daten die Probleme durch die aktiven Trigger.

Gruß

Holger

Hansa 23. Okt 2007 21:00

Re: Firebird Datenbank - Tabellenname ändern?!
 
Will dem großen Meister ja nicht ins Handwerk pfuschen. :mrgreen: Aber :

Zitat:

Zitat von IBExpert
..
falls die neue tabelle noch nicht existiert wird die angelegt, aber auch
ohne Trigger etc...


Da gehts wohl schon los. Warum nicht so (musste Table auch schon wegen Tippfehler mal umbenennen) :

Extract Metadata (eventuell gleich mit Datatables, bzw. später, sofern neue Table da das vorgeschlagene : alt in neu einfügen). Alles mitschleppen. Also Trigger, Generatoren usw. In diesem Script überall den alten Namen durch den neuen ersetzen. Lässt man dieses Script laufen, dann hat man zwei identische Tables mit unterschiedlichen Namen (aber mitsamt Zubehör). Die mit dem falschen Namen kann man ja dann löschen. SPs usw. muss man da allerdings auch noch im Auge behalten.

mkinzler 23. Okt 2007 21:02

Re: Firebird Datenbank - Tabellenname ändern?!
 
Hallo Hansa, es ist wirklich nett das du die Aussage deines "Meisters" wiederholst:
Zitat:

Zitat von IBExpert
alternative: einfach auf der alten tabelle auf die ddl seite gehen, alles
über die Zwischenablage in den script executive reinpacken, tabellennname
per suchen/ersetzen ändern und dann ausführen. meist sieht man aber erst
dann beim Einspielen der Daten die Probleme durch die aktiven Trigger.



Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz