Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi UniDac: Datensatz kopieren (https://www.delphipraxis.net/174852-unidac-datensatz-kopieren.html)

Darlo 14. Mai 2013 12:45

UniDac: Datensatz kopieren
 
Hallo zusammen,

um einen Datensatz zu kopieren kannte ich
Code:
 INSERT INTO tabA SELECT * FROM tabB WHERE id = 'xyz'
Wie kann ich denn einen Datensatz mit UniDac (sqlite) kopieren?
Gibt es einen besseren Weg als mit einer for-Schleife Feld für Feld zu kopieren?

mkinzler 14. Mai 2013 12:47

AW: UniDac: Datensatz kopieren
 
Das SQL-Statement sollte doch 1:1 funktionieren

baumina 14. Mai 2013 13:03

AW: UniDac: Datensatz kopieren
 
Ich habe gelesen, dass SQLite Subqueries in Klammern braucht, deswegen versuchs mal so:

Code:
INSERT INTO tabA (SELECT * FROM tabB WHERE id = 'xyz')
EDIT : Nein, stimmt nicht im Handbuch von SQLite stehts genau so wie du es hattest
Zitat:

Subqueries with the INSERT Statement:

Subqueries also can be used with INSERT statements. The INSERT statement uses the data returned from the subquery to insert into another table. The selected data in the subquery can be modified with any of the character, date, or number functions.

The basic syntax is as follows:
INSERT INTO table_name [ (column1 [, column2 ]) ]
SELECT [ *|column1 [, column2 ]
FROM table1 [, table2 ]
[ WHERE VALUE OPERATOR ]

Example:

Consider a table COMPANY_BKP with similar structure as COMPANY table and can be created using same CREATE TABLE using COMPANY_BKP as table name. Now to copy complete COMPANY table into COMPANY_BKP, following is the syntax:
sqlite> INSERT INTO COMPANY_BKP
SELECT * FROM COMPANY
WHERE ID IN (SELECT ID
FROM COMPANY) ;
Also eine TUniQuery nehmen, SQL einfügen und via ExecSQL ausführen, fertig.

Darlo 14. Mai 2013 13:41

AW: UniDac: Datensatz kopieren
 
Danke für die Antworten. Bin der festen Überzeugung dass das gestern nicht geklappt hatte ...:oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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