Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi INSERT INTO ... (https://www.delphipraxis.net/7438-insert-into.html)

Ricane 12. Aug 2003 13:09


INSERT INTO ...
 
Moin,

mein Ziel ist es, eine .sql Datei zu erstellen, die eine komplette Tabelle beinhaltet, also ein komplettes "Tabellen - Spiegelbild" in einer .sql mit der INSERT - Syntax

Im Klartext: Die .sql Datei soll die SQL - Syntax für das einfügen beinhalten... also ca. so.

Code:
INSERT INTO TableName (Spalte1, Spalte2, Spalte3)
VALUES (Wert1, Wert2, Wert3);
Dieser Code würde in die Tabelle TabelName die Werte einfügen. Aber was mache ich wenn ich zwei Spalten haben will?! Jetzt wird ja nur die erste Spalte gefüllt...

Grüsse,

Ricane

alcaeus 12. Aug 2003 13:12

Re: INSERT INTO ...
 
Was soll das heißen? Nehmen wir an, die Tabelle heißt TAB. Du hast 3 Spalten, S1, S2, S3. Die Syntax um alle drei Spalten zu füllen lautet:

INSERT INTO TAB (S1, S2, S3) VALUES ('Wert1', 'Wert2' 'Wert3');

Dieser Befehl füllt alle angegebenen Spalten. Du kannst natürlich auch mehrere dieser Codezeilen in die SQL-Datei einfügen...

Ricane 12. Aug 2003 13:14

Re: INSERT INTO ...
 
Zitat:

Zitat von alcaeus
Was soll das heißen? Nehmen wir an, die Tabelle heißt TAB. Du hast 3 Spalten, S1, S2, S3. Die Syntax um alle drei Spalten zu füllen lautet:

INSERT INTO TAB (S1, S2, S3) VALUES ('Wert1', 'Wert2' 'Wert3');

Dieser Befehl füllt alle angegebenen Spalten

:oops: Sorry, mein Fehler ich meine natürlich zwei REIHEN!!


Das macht die Hitze (hoffentlich)......


Ricane

alcaeus 12. Aug 2003 13:16

Re: INSERT INTO ...
 
INSERT INTO TAB (S1, S2, S3) VALUES ('Wert1', 'Wert2' 'Wert3');
INSERT INTO TAB (S1, S2, S3) VALUES ('Wert11', 'Wert12' 'Wert13');
INSERT INTO TAB (S1, S2, S3) VALUES ('Wert21', 'Wert22' 'Wert23');

Dies fügt 3 Datensätze in die Tabelle ein...Ich hoffe es ist das, was du gemeint hast.

Ricane 12. Aug 2003 13:20

Re: INSERT INTO ...
 
Also muss für jede neue Reihe auch ein neues INSERT INTO TAB kommen ?!

Ricane

alcaeus 12. Aug 2003 13:21

Re: INSERT INTO ...
 
Ja, für jeden Datensatz ein einzelnes Statement, aber ich würde die Statements einzeln ausführen, ich hatte schon Probleme mit den Sachen. Welche Datenbank verwendest du?

Ricane 12. Aug 2003 13:25

Re: INSERT INTO ...
 
Das ganze gehört zu einem Datenbank Export Tool...

Ich verbinde aus ORACLE, SQL, MS-JET u.a. Wo die Daten eingespielt werden, ist also immer unterschiedlich.

Ist das dafür relevant?! Welche Probleme können auftreten?!


Ricane

alcaeus 12. Aug 2003 13:26

Re: INSERT INTO ...
 
Bei der InterBase Console hate ich das Programm dass ich in jedem SQL-Query nur einen Befehl reingeben kann, ansonsten gibts ne saftige Fehlermeldung. Aber ansonsten funzt das schon ganz nett. Bei dir dürfte es die Probleme nicht geben, nachdem du ja nicht Interbase verwendest.

Ricane 12. Aug 2003 13:28

Re: INSERT INTO ...
 
Zitat:

Zitat von alcaeus
[...] nachdem du ja nicht Interbase verwendest.

InterBase ist auch geplant, das fiel bei mir unter die Kategorie "u.a."... da muss ich also aufpassen; danke für den Tipp...


Schönes schwitzen noch, :D

Ricane

r_kerber 12. Aug 2003 13:41

Re: INSERT INTO ...
 
Mein Vorschlag, in den Quelldatenbanken machst Du einen unload:
SQL-Code:
UNLOAD TO "daten.dat"
SELECT S1, S2, S3
FROM tabelle
WHERE irgendetwas;
In der Zieldatenbank erfolgt dan ein load
SQL-Code:
LOAD FROM "daten.dat"
INSERT INTO tabelle;

Ricane 12. Aug 2003 15:41

Re: INSERT INTO ...
 
Zitat:

Zitat von r_kerber
[...]
SQL-Code:
UNLOAD TO "daten.dat"
SELECT S1, S2, S3
FROM tabelle
WHERE irgendetwas;
[...]

EDIT: Ich habe das jetzt mal anders gemacht und habe eine Query eingebaut, wo ich den UNLOAD TO Befehle mache... aber er sagt mir immer

"Symbol String nicht gefunden"
"Symbol String = UNLOAD"
"Zeilennummer : 1"

Kennt er vielleicht gar kein UNLOAD TO ?! PS: Ich verbinde auf einen SQL - Server.


Ricane

r_kerber 12. Aug 2003 21:35

Re: INSERT INTO ...
 
Load und Unload sollte man direkt auf der DB machen. Ich glaube aus einem Delphi-Programm mit TQuery funktioniert das nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz