| Autor |
Beitrag |
Grave_digger
      
Beiträge: 33
|
Verfasst: Mi 25.06.03 12:01
ich möchte gerne einen beliebigen datensatz kopieren und mit neuem schlüssel wieder ablegen und das alles innerhalb einer Datenbank/Tabelle benutze IB von Borland
mfg
|
|
CenBells
      
Beiträge: 1547
Win 7
Delphi XE5 Pro
|
Verfasst: Mi 25.06.03 12:33
hallo,
du musst sowas machen wie,
Quelltext 1: 2: 3: 4:
| insert into quelltabelle Values (Select * from quelltabelle Where schluessel = deinschluessel) |
Gruß
Ken
|
|
Grave_digger 
      
Beiträge: 33
|
Verfasst: Do 26.06.03 10:05
Hi
ganzso funktiert es leider nicht
ich schreibe:
Quelltext 1: 2: 3: 4: 5: 6: 7:
| insert into COUNTRY Values (Select * from COUNTRY where dollar = test) Bekomme ich einen Fehler: Dynamic SQL Error SQL error CODE = -104 Token UNKNOWN - line 2, chat 7 Select |
und was nun
ich möchte datensätze kopieren die in Tabllen liegen mit 60 und mehr Feldern
MFG
Moderiert von Tino: Code-Tags hinzugefügt.
|
|
CenBells
      
Beiträge: 1547
Win 7
Delphi XE5 Pro
|
Verfasst: Do 26.06.03 10:12
dann versuche es ohne VALUE und ohne klammern
|
|
Grave_digger 
      
Beiträge: 33
|
Verfasst: Do 26.06.03 10:30
HI
und wie vergebe ich dann meinen neuen schluessel
bekomme Index fehler
mfg
|
|
CenBells
      
Beiträge: 1547
Win 7
Delphi XE5 Pro
|
Verfasst: Do 26.06.03 11:17
dann kannst du anstelle
Quelltext
folgendes machen
Quelltext 1:
| select deinneuerschlüssel, feld1,feld2, .. , feldn from... |
deinneuerschlüssel muss dann an der stelle in der reihenfolge kommen, an der deine schlüsselspalte steht
Gruß
Ken
Moderiert von Tino: Code-Tags hinzugefügt.
|
|
yukon-troll
      
Beiträge: 60
|
Verfasst: Do 26.06.03 12:20
@Grave_digger: hast du auch schon mal darüber nachgedacht das durch das Kopieren eines Datensatzes innerhalb einer Tabelle Redundanzen entstehen, die man durch das Normalisieren einer Datenbank/Tabelle eigentlich vermeiden will ?
MfG yukon-troll
|
|
neojones
      
Beiträge: 1206
Erhaltene Danke: 1
|
Verfasst: Do 26.06.03 12:29
"TOKEN UNKNOWN" bedeutet, dass dasd Feld nicht gefunden wurde, wenn ich das richtig sehen. Ist "test" ein String und kein Feld? Dann müsste man es so schreiben:
Quelltext 1: 2:
| insert into COUNTRY Values (Select * from COUNTRY where dollar = 'test') |
Zum Thema Redundanzen: Wieso? Wenn ich z.B. einen Artikel kopieren will, weil Preise, Staffeln etc. gleich sind und später nur die Artikelbezeichnung ändere, dann entstehen dadurch keine Redundanzen gemäß Normalisierungs-Regeln.
Viele Grüße,
Matthias
Moderiert von Tino: Code-Tags hinzugefügt.
_________________ Ha! Es compiliert! Wir können ausliefern!
|
|
Grave_digger 
      
Beiträge: 33
|
Verfasst: Do 26.06.03 12:32
Yukon-Troll
das ist richtig aber warum soll ich einen datensatz der bis auf z.B die Artikelnummer (weil ander Hersteller aber gleiche sache) komplett noch einmal von Hand Eintragen sind wir nicht alle ein bischen Faul
mfg
|
|
Grave_digger 
      
Beiträge: 33
|
Verfasst: Fr 27.06.03 06:45
hi
hatt denn irgend jemand noch einen Lösungs ansatz  das muss doch irgend wie gehen das ist doch nichts ungewönliches oder
mfg
|
|
neojones
      
Beiträge: 1206
Erhaltene Danke: 1
|
Verfasst: Fr 27.06.03 06:50
@Grave_digger: Hat das nicht funktioniert, wenn man das "Test" in Hochkommas schreibt? Welche Datenbank benutzt Du?
LocalSQL unterstützt meines Wissens ein SELECT im INSERT nicht, bin mir aber gerade auch nicht ganz sicher.
Viele Grüße,
Matthias
_________________ Ha! Es compiliert! Wir können ausliefern!
|
|
Grave_digger 
      
Beiträge: 33
|
Verfasst: Fr 27.06.03 11:22
Neo
wie bekomme ich jetzt einen Neuen Datensatz
benutze Interbase von Borland
und ich denke mal das du verstanden hast was ich meine
aber wie mach ich das
mfg
|
|
Grave_digger 
      
Beiträge: 33
|
Verfasst: Mo 07.07.03 08:20
Hat den niemand eine lösung für mich ich komme sonst nicht weiter bitte
|
|