Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   FB Domain eines Feldes entfernen (https://www.delphipraxis.net/166759-fb-domain-eines-feldes-entfernen.html)

hoika 28. Feb 2012 11:44

Datenbank: FB • Version: 2.0 • Zugriff über: egal

FB Domain eines Feldes entfernen
 
Hallo #,

wie entferne ich eine Domain von einem Feld ???

Create Domain DomVChar40 As VarChar(40);
Create Table Dummy (Id Integer, Name DomVChar40));
Create Table Dummy2(Name DomVChar40));

Ziel ist eigentlich, das Feld Dummy.Name auf 100 Zeichen zu vergrößern.

FB meckert "Cannot update index segment used by an Integrity Constraint."

Schlau wie ich bin, will ich einfach die Domain weg bei Dummy.Name löschen,
geht aber leider nicht.

Was nun ?
Eien Lösung wäre das Anlegen einer neuen (Dummy)-Domain mit der Länge 100.
Wie mache ich das ?



Danke


Heiko

Lemmy 28. Feb 2012 11:52

AW: FB Domain eines Feldes entfernen
 
Hi,

Variante 1: [sql]ALTER DOMAIN DomVChar40 Type VARCHAR(100)[/sql]

Da änderst Du aber halt die Domain, und damit alles, nur für die Tabelle:

[SQL]Alter table Dummy2 alter Name type VarChAR(200);[/sql]

Morphie 28. Feb 2012 11:55

AW: FB Domain eines Feldes entfernen
 
Oder wenn du die Definition neu erstellen willst
Code:
Create Table Dummy (Id Integer, Name varchar(100));
btw. ich würde das Feld nicht "name" nennen ;-)

tsteinmaurer 28. Feb 2012 15:18

AW: FB Domain eines Feldes entfernen
 
Ich würde eine neue Domain mit der längeren Breite anlegen und diese dann dem Feld zuweisen (ALTER TABLE ... ALTER ...). Das Zuweisen geht halt nur, wenn keine Abhängigkeiten (Index, Constraint, etc.) für das Feld existieren.

hoika 28. Feb 2012 16:00

AW: FB Domain eines Feldes entfernen
 
Hallo ihr beide,

habe ich mir fast gedacht ;(
Kann ich eigentlich auch so eine rdb$XXX-Domain erstellen (lassen) ?

Danke


Heiko

tsteinmaurer 28. Feb 2012 21:31

AW: FB Domain eines Feldes entfernen
 
Zitat:

Zitat von hoika (Beitrag 1153473)
Kann ich eigentlich auch so eine rdb$XXX-Domain erstellen (lassen) ?

Für was? Eine RDB$ Domain wird dann automatisch von Firebird erstellt, wenn du beim Felddatentyp keine benutzer-definierte Domain, sondern halt die einfachen Datentypen wie INTEGER, BIGINT etc ... verwendest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:00 Uhr.

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