-
SQl Insert mit allen Feldern
Hi zusammen,
ich möchte mit folgendem SQL Daten duplizieren
insert into tabelleA
select * from TabelleA where Key = 'Anton'
Wobei der Key mit Berta eingefügt werden soll.
(Also das klassiche kopieren auf eine neue Auftragsnummer )
Kann man das ohne die Spaltenliste realisieren ?
Gruß
Michael
-
Definitiv leider nein.
Du benötigst da ein wenig mehr mit einer global temporary table:
Declare global temporary ....
Insert into myglobal select * from mytable where ...
update myglobal set name = 'new';
insert into mytable select * from myglobal;
delete from myglobal; -- aufräumen fürs nächste Mal.
-
Hi,
schade, hatte gehofft das es mittlerweile etwas schöneres gibt :-)
-
Ansonsten gibt es nur:
Spalten auflisten und den Wert in der gewünschten Spalte überschreiben.
Wenn Du das mit ACS machst (und beim Prompt alle Spalten auswählst), sollte das kein Problem sein.
... oder 3-Zeiler in RPG: Datensatz in (externe) Datenstruktur einlesen (SELECT ... INTO), Wert(e) ändern und dann Datenstruktur beim Insert angeben (INSERT ... VALUES(:ExtDS)).
-
Das ist ja bekannt.
Allerdings, wenn man ab und an mal Tabellen erweitert, möchte man schon irgendwelche Automatismen wie mit native File-IO.
Da gibts dann Abhängigkeits-Compiler, die bei Änderung einer Tabelle alle betroffenen Componenten mit umwandeln. Führe ich die Spalten einzeln auf, muss ich neue Spalten wieder mit einfügen.
Bei größeren Teams weiß man allerdings nie, ob jemand mit "*" oder mit Feldliste gearbeitet hat.
Und wenn dann wie bei obigen Fällen eine Spalte fehlt, weil das so niemand auf dem Schirm hatte, ist später der Teufel los.
Da Speicher und die Anzahl Spalten heute kaum noch einen Unterschied in der Performance machen, arbeitet man gerne mit "Select * into : MyDs" oder "Update mytable set row = : MyDs".
Nur bei speziellen Views, die ganz bestimmte Aufgaben haben, arbeite ich dann mit Namenslisten.
Natürlich ist es einfacher, den Select per Into in eine DS und per Update mit DS durchzuführen um dem Problem aus dem Weg zu gehen. Aber mit pur SQL gehts so halt auch;-).
-
 Zitat von mk
Hi zusammen,
ich möchte mit folgendem SQL Daten duplizieren
insert into tabelleA
select * from TabelleA where Key = 'Anton'
Wobei der Key mit Berta eingefügt werden soll.
(Also das klassiche kopieren auf eine neue Auftragsnummer )
Kann man das ohne die Spaltenliste realisieren ?
Gruß
Michael
warum willst du das unbedingt mit sql tun ????
CPYF könnte da die lösung sein
-
Wenn du noch verraten möchtest, wie du gleichzeitig eine Spalte ändern willst?
Ich kenne nur die Möglichkeit per z.B. *UPDADD und einem Schlüssel Zeilen aus einer anderen/derselben Datei per Update oder Add zu kopieren.
Ggf. kann noch ein:
update myfile
set field = 'HUGO'
where key = (
select key from final table
(insert into myfile select * from myfile where ....)
)
wenn man eine unique Identity hat. Da ist dann noch ein override user values erforderlich.
Ob allerdings der "select x from final table" innerhalb eines derived tables stehen kann, habe ich noch nicht auspropiert. Ich glaube aber, dass das nicht geht.
Ein weiteres Manko: Der Insert darf keinen anderen Unique-Key verletzen, was außer mit Identities eher selten vorkommt.
-
... eine ordentliche QS übersteht das alles nicht! Einem bestehenden oder entstehendem Auftrag einfach was dranzuhäkeln... Und sage keiner, dass das nicht passiert...
D*B
-
Was ist denn schon eine ordentliche QS .
-
 Zitat von Fuerchau
Was ist denn schon eine ordentliche QS  .
das, womit man als Berater Geld verdienen kann, was den Dokumentationsaufwand in ungeahnte Höhen treiben kann, und (evtl) auch das Produkt verbessern kann.
Auf jeden Fall ist ein bissl QS schon ganz toll. So kann man Stolperfallen vermeiden, in die man sonst selbst rein fällt.
-
Ich habe ja nicht nach QS sondern nach ordentlicher QS gefragt.
Die sollte man bei der Erziehung durch Eltern ggf. auch mal einführen.
Similar Threads
-
By Klaus Meyer in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 24-06-25, 13:14
-
By brittner in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 20-02-15, 10:48
-
By rr2001 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 07-07-06, 10:56
-
By HACHIMAN in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 22-05-06, 10:48
-
By csupp in forum NEWSboard Server & Hardware Markt
Antworten: 0
Letzter Beitrag: 25-06-04, 14:32
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks