Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Tabellle "durchnummerieren" (https://www.delphipraxis.net/151948-tabellle-durchnummerieren.html)

khh 7. Jun 2010 16:44

Datenbank: firbird • Version: 2.1 • Zugriff über: zeos

Tabellle "durchnummerieren"
 
hallo zusammen,
ich möchte eine spalte einer db tabelle neu "durchnummerieren"

unter Oracle soll das so:
UPDATE myTab SET newCol=100000 + ROWNUM;
funktionieren.

Leider klappt das unter firebird nicht.
er kennt ROWNUM nicht :-(

Geht dass unter firebird auch per script, oder muss ich dazu ein Programm schreiben?

Danke für eure eure Hilfe

DeddyH 7. Jun 2010 16:48

AW: Tabellle "durchnummerieren"
 
Was ist das denn für eine Spalte? Hoffentlich nicht der Primärschlüssel, der womöglich noch als FK woanders referenziert wird.

s.h.a.r.k 7. Jun 2010 17:13

AW: Tabellle "durchnummerieren"
 
@DeddyH: Wenn Firebird Referenzielle Integrität dürfte der Code an sich ja gar nicht gehen, ergo würde das ja nicht viel ausmachen, denn dann müssten erst die Referenzen darauf angepasst werden.

Nun kommt es aber darauf an, was du Umnummerieren willst, denn im Normalfall sollte das schon gehen. Das ist ja ein normales SQL-Statement, das auch Firebird abarbeiten können müsste. Ich denke, dass das Problem eher beim richtigen Namen der Spalte liegt. Bist du sicher, dass diese passen?

PS: Das ist kein Script ;)

khh 7. Jun 2010 17:30

AW: Tabellle "durchnummerieren"
 
Zitat:

Zitat von DeddyH (Beitrag 1026452)
Was ist das denn für eine Spalte? Hoffentlich nicht der Primärschlüssel, der womöglich noch als FK woanders referenziert wird.

natürlich nicht :-)

ich möchte dadurch einfach eine Tabelle mit Artikeln mit einer Artikelnummer versehen.

s.h.a.r.k 7. Jun 2010 17:32

AW: Tabellle "durchnummerieren"
 
Und nun? Ohne weitere Informationen können wir dir nicht helfen ;)

khh 7. Jun 2010 17:33

AW: Tabellle "durchnummerieren"
 
Zitat:

Zitat von s.h.a.r.k (Beitrag 1026462)

PS: Das ist kein Script ;)


na den ists halt ein "SQL-Statement".;-)

ja die Spalten passen , er meckert ja auch nur :
Column unknown ROWNUM.

s.h.a.r.k 7. Jun 2010 17:38

AW: Tabellle "durchnummerieren"
 
Groß- und Kleinschreibung schon mal geprüft? Bei Oracle musst z.B. "ColumnName" angeben (also mit den Anführungszeichen), wenn du es mit "ColumnName" (mit Anführungszeichen) angelegt hast. Sonst konvertiert Oracle alles in Großbuchstaben.

PS: Muss noch dazu sagen, dass ich hier die Oracle 9.x Version meine.

khh 7. Jun 2010 17:47

AW: Tabellle "durchnummerieren"
 
scheint wohl Oracle-spezifisch zu sein, zumindest haben auch schon andere danach gesucht :-(


http://www.wer-weiss-was.de/theme10/article1430977.html


gibts da nix äquivalentes in firebird ?

EDIT :ich könnte das notfalls mit EXCEL machen... :-(

s.h.a.r.k 7. Jun 2010 18:02

AW: Tabellle "durchnummerieren"
 
Jetzt hab ich es erst verstanden gehabt. Diese Funktionalität ist aber auch irgendwie ein wenig strange, aber gut, mal abgesehen davon. Andere Frage: Warum nimmst du nicht den PK als Ariktelnummer?! Wäre zunächst mal eine Idee.

Hab gerade Google befragt und es scheint, als müsstest du das selbst machen. Klingt zwar etwas blöd, aber dabei würde ich mir sogar etwas mehr Logik für diese Artikelnummer einfallen lassen, wie z.B. die Kategorie des Ariktels mit einbauen, sodass man anhand dessen dann vielleicht auch schon diverse Sachen ableiten kann.

khh 7. Jun 2010 18:07

AW: Tabellle "durchnummerieren"
 
Zitat:

Zitat von s.h.a.r.k (Beitrag 1026498)
Jetzt hab ich es erst verstanden gehabt. Diese Funktionalität ist aber auch irgendwie ein wenig strange, aber gut, mal abgesehen davon. Andere Frage: Warum nimmst du nicht den PK als Ariktelnummer?! Wäre zunächst mal eine Idee.

Hab gerade Google befragt und es scheint, als müsstest du das selbst machen. Klingt zwar etwas blöd, aber dabei würde ich mir sogar etwas mehr Logik für diese Artikelnummer einfallen lassen, wie z.B. die Kategorie des Ariktels mit einbauen, sodass man anhand dessen dann vielleicht auch schon diverse Sachen ableiten kann.

der PK scheidet aus, weil dieser nicht mit der Reihenfolge der Artikelsortierung übereinstimmt, sonst wäre das ja das Einfachste ;-)
Selbstverständlich werden Artikelgruppen mit berücksichtigt, und unterschiedliche Nummernkreise vergeben, das angeführte Statement ist ja nur als Beispiel zu sehen.

Danke dir trotzdem für deine Hilfe

Gruss KHH


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:53 Uhr.
Seite 1 von 2  1 2      

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