Satz duplizieren
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Satz duplizieren
ich möchte gerne einen Satz duplizieren in einer Tabelle.
Es sollen aber nicht alle Inhalte im Ziel bleiben, einige sollen geleert werden, ein anderes einen neuen Inhalt bekommen.
Einen Satz von eienr Tabelle in eine andere Tabelle kopieren habe ich schon gemacht, aber wie dupliziert man einen Satz, wenn einige Felder im Ziel anders sein müssen?
Ich möchte aus Übersicht nicht alle Felder einzeln angeben müssen, die kopiert werden sollen. Das wären zu viele die angegeben werden müssen. Geht das auch ohne?
Es sollen aber nicht alle Inhalte im Ziel bleiben, einige sollen geleert werden, ein anderes einen neuen Inhalt bekommen.
Einen Satz von eienr Tabelle in eine andere Tabelle kopieren habe ich schon gemacht, aber wie dupliziert man einen Satz, wenn einige Felder im Ziel anders sein müssen?
Ich möchte aus Übersicht nicht alle Felder einzeln angeben müssen, die kopiert werden sollen. Das wären zu viele die angegeben werden müssen. Geht das auch ohne?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- nightcrawler
- 1000 working lines a day
- Beiträge: 653
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: Satz duplizieren
SQL?
Code: Alles auswählen
INSERT INTO meinetabelle (ID, Feld1, Feld2, Feld3, Feld4)
SELECT newid(), Feld1, 'hallo welt', Feld3, Feld4 FROM meinetabelle
WHERE ID=42
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Satz duplizieren
das ist ja das, was ich versuche zu verhindern. Alle Felder anzugeben. So kannte ich das auch.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Satz duplizieren
ich hätte auch kein Problem den Satz vorher in eine temporär Tabelle zu schreiben, umzuändern und dann in die Zieldatei anzuhängen. Aber ich bekomme das unter dem ADS nicht hin. Wie sieht der Befehl aus, der in eine temporäre Tabelle schreibe?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Satz duplizieren
Manfred,
und wenn Du den Originalsatz in ein DataObject schreibst? Eine Zeile Code. Und manipulieren kannst Du die Werte dann, bevor Du die mit einer weiteren Zeile Code in den neuen Satz schreibst.
Jan
und wenn Du den Originalsatz in ein DataObject schreibst? Eine Zeile Code. Und manipulieren kannst Du die Werte dann, bevor Du die mit einer weiteren Zeile Code in den neuen Satz schreibst.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Satz duplizieren
OK,
mir fehlte der Hinweis das man beim ADS mit dem # arbeiten muß um eine temporäre Tabelle zu erzeugen.
Jetzt komme ich zumindest weiter. Bin aber trotzdem noch offen für weitere Vorschläge dazu.
mir fehlte der Hinweis das man beim ADS mit dem # arbeiten muß um eine temporäre Tabelle zu erzeugen.
Jetzt komme ich zumindest weiter. Bin aber trotzdem noch offen für weitere Vorschläge dazu.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9387
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 103 Mal
- Danksagung erhalten: 362 Mal
- Kontaktdaten:
Re: Satz duplizieren
Du kannst doch das INSERT-Statement in einer kleinen Loop zusammensetzen, die FCount-mäßig die Feldnamen verwendet, außer in den Fällen, wo ein Feld mit einem bestimmten anderen Wert besetzt werden muss.
Herzlich,
Tom
Tom
- Marcus Herz
- 1000 working lines a day
- Beiträge: 859
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: Satz duplizieren
Falls du ein ADD hast, da hab ich neine SQL Funktion geschrieben, welche das abdeckt, was du brauchst:
Der AUfruf erfolgt so:
Ziel und Source können ident sein, müssen aber nicht, Es werden nur Felder gelistet, deren Namen in beiden Tabellen vorkommen. Eine Typprüfung erfolgt nicht.
die Exclue Fieldlist muss kommasepariert sein UND mit EINEM Komma beginnen und enden, z.B. ',NAME,'
Die Fieldlist kann auch NULL sein
Der AUfruf erfolgt so:
Code: Alles auswählen
declare @str string;
@str = 'insert into ziel ( '+ CopyFieldsByName('ziel', 'source', 'exclude field list') + ')
select '+ CopyFieldsByName('ziel', 'source','exclude field list') + '
from source
where .... ;';
execute immediate @str;
die Exclue Fieldlist muss kommasepariert sein UND mit EINEM Komma beginnen und enden, z.B. ',NAME,'
Die Fieldlist kann auch NULL sein
Code: Alles auswählen
CREATE FUNCTION CopyFieldsByName
(
ziel CHAR ( 20 ),
quelle CHAR ( 20 ),
exclude CICHAR ( 100 )
)
RETURNS STRING
BEGIN
declare @table cursor;
declare @str string;
open @table as
select name from system.columns
where parent = ziel
and name in (select name from system.columns where parent = quelle )
and not name like '@_@_%' ESCAPE '@'
and not name in ( '_pRID', 'RID' )
and (exclude is null or position(','+trim(name)+',' in exclude ) = 0)
;
@str = '';
while fetch @table do
@str = @str +','+ alltrim(@table.name);
end while;
close @table;
return @str;
END;
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Satz duplizieren
da es jetzt speziell um den ADS geht, geht es hier weiter.
https://www.xbaseforum.de/viewtopic.php ... 44#preview
https://www.xbaseforum.de/viewtopic.php ... 44#preview
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!