Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Table Feld enfernen (https://www.delphipraxis.net/91396-table-feld-enfernen.html)

SaFu 4. Mai 2007 10:41

Datenbank: paradoxx • Zugriff über: a

Table Feld enfernen
 
Hi hab mal ne ganz simple Frage

Wie entferne ich in meiner DB ein Feld habe schon in der Hilfe nachgeschaut aber irgendwie bekomme ich das nicht hin, es steht zwar da das man ein feld entfernen kann, aber wie es geht steht da nicht

mkinzler 4. Mai 2007 10:48

Re: Table Feld enfernen
 
SQL-Code:
alter table <Tabelle> drop field <feldname>;

SaFu 4. Mai 2007 10:49

Re: Table Feld enfernen
 
Kann man das feld direkt mit der Datenbankoberfläche unter Umstrukturieren löschen

mkinzler 4. Mai 2007 10:52

Re: Table Feld enfernen
 
Ja sollte gehen (wenn tabelle exklusiv geöffnet ist)

SaFu 4. Mai 2007 10:53

Re: Table Feld enfernen
 
Ja das habe ich schon versucht bei geschlossener Tabelle und wenn alle Datensätze gelöscht sind aber das Funzt nicht in der Hilfe steht auch das es so gehen müsste.

mkinzler 4. Mai 2007 10:55

Re: Table Feld enfernen
 
tabelle muß nicht geschlossen sonder exklusiv geöffnet sein.

SaFu 4. Mai 2007 11:44

Re: Table Feld enfernen
 
Was versteht man den unter exlusiv

mkinzler 4. Mai 2007 11:54

Re: Table Feld enfernen
 
Die Tabelle darf sonst nirgens im Zugriff sein, dann müßte sie automatisch exklusiv geöffnet werden.

SaFu 4. Mai 2007 17:53

Re: Table Feld enfernen
 
Heisst das mas sie nirgends auf Active gesetzt sein darf ???

mkinzler 4. Mai 2007 17:59

Re: Table Feld enfernen
 
Ja

hoika 8. Mai 2007 09:07

Re: Table Feld enfernen
 
Hallo,

so ist es unter Paradox (und allen anderen Desktop-DBs) leider.
Genauso ist es beim Hinzufügen.
Paradox ist eine Filebasierte DB.

Steig lieber schnell um.
(Das musste sein ;)


Heiko

raiguen 8. Mai 2007 22:09

Re: Table Feld enfernen
 
@ hoika:

Also, wenn mich mein Datenbank-Verständnis nicht ganz im STich lässt, dann sind Struktur-Änderungen in einer Tabelle grundsätzlich nur dann zulässig, wenn die betreffende Tabelle nicht aktiv ist.. Dabeio dürfte es unerheblich sein, ob es sich um eine (veraltetete) Paradox-Tabelle handelt oder um eine Tabelle in einer MSSQL-DB oder sonstigem 'richtigen' DB-Server!

Beim VErsuch, eine aktive Tabelle physikalisch zu ändern (Struktur) wird der Anwender mit einem entsprechenden Fehler konfrontiert.

btw: auch Paradox-Tabellen lassen sich zur Laufzeit strukturell ändern mithilfe von LocalSQL; einen sinngemäßen Vorschlag hat mkinzler ja bereits im Posting #2 genannt.

So, das wollte ich mal an dieser Stelle loswerden... Ansonsten bin ich von Paradox auch schon Lichtjahre entfernt ;)

hoika 8. Mai 2007 22:28

Re: Table Feld enfernen
 
Naaaa ;)

unter Firebird kann ich eine neues Feld einer Tabelle anlegen,
auch wenn gerade jemand die "offen" hat.
Das einzige, was bisher nicht klappt ist ein foreign key
(wird aber ab der nächsten Version gehen)

Das ist halt nen Vorteil MGA (multigenerationen architecture)


Heiko

mkinzler 9. Mai 2007 06:37

Re: Table Feld enfernen
 
Auch wenn diese Beschränkung in FB 2.1 entfernt wird würde ich Änderungen an der Struktur nicht im laufenden Betrieb durchführen.
Den Tipp mit dem Umstieg würde ich aber trotzdem unterstützen.

hoika 9. Mai 2007 07:13

Re: Table Feld enfernen
 
Hallo,

stell dir ne Firma vor,
über 3 grosse Hallen verstreut,
~ 50 Rechner, davon 10 ständig an der Arbeit.

Das ist das schon schön,
nicht sagen zu müssen, wir fahren mal alles runter
wegen DB-Wartungsarbeiten.

Ich rede nur davon, dass Felder nur neu angelegt werden.
Der Code muss natürlich prüfen, ob die Felder schon da sind,
das ist das einzige Problem.


Heiko

SaFu 9. Mai 2007 07:17

Re: Table Feld enfernen
 
Danke für die ganzen Antworten für meine zwecke langt die Paradoxx föllig aus werde mir aber mal neueren angucken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr.

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-2025 by Thomas Breitkreuz