AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mehrere Datensätze kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Datensätze kopieren

Ein Thema von RWarnecke · begonnen am 11. Mär 2010 · letzter Beitrag vom 11. Mär 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 15:21
Datenbank: Firebird • Version: 2.1 • Zugriff über: UniDAC
Hallo zusammen,

ich habe eine Tabelle mit den Kundendaten mit den folgenden Feldern :
  • StammNr
  • Vorname
  • Name
  • u.s.w.
Das Feld StammNr zieht sich durch alle Tabellen. Somit ist jeder Datensatz in den anderen Tabellen an diese StammNr gebunden. Jetzt meine Frage, wie kann ich jetzt die bestehenden Datensätze zu einer StammNr auf eine neue StammNr, die ich vorher vergebe kopieren ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
daddy

Registriert seit: 9. Sep 2005
Ort: Köln
126 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 15:54
Beitrag bitte ignorieren, habe die Ausgangsfrage nicht genau gelesen und falsch verstanden (s.#3):

[In den verbunden Tabellen den Foreign Key der Stammnummer um den Zusatz "On Update Cascade" erweitern. Sobald die StammNr geändert wird, geschieht dann alles Notwendige automatisch innerhalb von Firebird.

Gruß Daddy]
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#3

Re: Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 16:00
Die Nummer verändern oder die Datensätze kopieren sind wohl zwei paar Schuhe...

Man kann über die Systemtabellen alle Fremdschlüssel und die abhängigen Tabellen auslesen.
Aber diese automatisch mit Daten zu füllen ist so einfach nicht.
Nur mal angenommen es gibt eine Tabelle Rechnungen in der jede Rechnungsnummer eindeutig sein muss.
Hier ist fachliche Logik gefragt.

Welches Ziel soll damit eigentlich erreicht werden?
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 16:16
Ich versuche es anderst zu erklären. Ich habe insgesamt 30 Tabellen + 1 Tabelle mit Kundendatensätzen wie in Beitrag #1 geschrieben. Das einzigste Feld was eindeutig sein muss, ist die StammNr. Dieses Feld ist in allen 30 Tabellen vorhanden. In den Tabellen werden verschiedene Werte für Berechnungen gespeichert. Das ganze ergibt dann einen Gesamtbericht mit allen Berechnungen. Jetzt möchte ich die Werte für die Berechnungen kopieren und unter einer neuen StammNr abspeichern.
Als Ergebnis sollen dann zweimal die gleichen Werte für die Berechnungen unter zwei unterschiedlichen StammNr in der Datenbank gespeichert sein. So ungefähr wie eine kleine Versionsverwaltung der Werte.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

Re: Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 16:56
Spontan würde ich sagen, schreib Dir eine SP, der Du die alte und die neue Stammnummer übergibst. Innerhalb dieser kannst Du ja dann aus allen betroffenen Tabellen die Daten kopieren. Welche das sind, kannst Du entweder hartcoden oder über die Systemtabellen auslesen, sofern es sich um einen FK handelt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

Re: Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 17:25
Zitat von DeddyH:
Spontan würde ich sagen, schreib Dir eine SP, der Du die alte und die neue Stammnummer übergibst. Innerhalb dieser kannst Du ja dann aus allen betroffenen Tabellen die Daten kopieren. Welche das sind, kannst Du entweder hartcoden oder über die Systemtabellen auslesen, sofern es sich um einen FK handelt.
Ich nehme mal an, dass Du mit FK den Foreign Key meinst. Den habe ich in keiner Tabelle definiert. Brauche ich den denn unbedingt für das kopieren ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#7

Re: Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 17:25
Zitat von DeddyH:
Spontan würde ich sagen, schreib Dir eine SP, der Du die alte und die neue Stammnummer übergibst. Innerhalb dieser kannst Du ja dann aus allen betroffenen Tabellen die Daten kopieren. Welche das sind, kannst Du entweder hartcoden oder über die Systemtabellen auslesen, sofern es sich um einen FK handelt.
Ich nehme mal an, dass Du mit FK den Foreign Key meinst. Den habe ich in keiner Tabelle definiert. Brauche ich den denn unbedingt für das kopieren ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

Re: Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 17:39
Für das Kopieren nicht, er wäre nur nützlich gewesen, wenn man die Relationen über die Systemtabellen auslesen wollte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

Re: Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 17:53
Hast Du ein paar Links parat zu FK und dem Auslesen von Systemtabellen innerhalb einer SP ? Wenn nicht, ist auch nicht schlimm suche ich nachher über Google.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Mehrere Datensätze kopieren

  Alt 11. Mär 2010, 17:54
Hallo,

du musst doch eine "LoadDataFromTableXXX" / "InsertDataIntoTableXXX" im Programm haben.
Dann lade dir die Daten der alten StammNr und speichere sie unter der neuen Nummer ab.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:19 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