![]() |
Datenbank: Interbase • Version: 6.5 • Zugriff über: ibexpert
SQL Insert mit Select
Hi,
warum schlägt nachfolgendes fehl, er mag den select in den Values nicht? Meldung: Invalid token. (Select)
Code:
Welche Möglichkeit gibt es noch?
insert into tabelle
(fqld1,feld2,feld3) values (select xxx from tabellexxx where yyy=aaa, 'ksdhf', 34343) Danke schon mal... |
AW: SQL Insert mit Select
Lass das "Values" einfach weg.
SQL-Code:
INSERT INTO
Tabelle(Feld1, Feld2, Feld3) SELECT Feld1, Feld2, Feld3 FROM Andere_Tabelle WHERE Bedingungen |
AW: SQL Insert mit Select
@DeddyH
fast, nur das aus dem select nur 1 Feld kommt. Habe es nun so gelöst, indem ich in das select die anderen Werte ('ksdhf', 34343) injizieren....
Code:
insert into tabelle
(fqld1,feld2,feld3) select xxx, 'ksdhf', 34343 from tabellexxx where yyy=aaa |
AW: SQL Insert mit Select
Oh sry, das hatte ich wohl nicht richtig gelesen. Eine andere Möglichkeit wäre IIRC gewesen:
SQL-Code:
Also, das innere Statement zusätzlich zu klammern.
INSERT INTO
Tabelle(feld1,feld2,feld3) VALUES ((SELECT xxx FROM Tabellexxx WHERE yyy=aaa), 'ksdhf', 34343) [edit] Allerdings gibt es einen Unterschied zwischen diesen beiden Varianten: wenn das SELECT mehrere Datensätze zurückgibt, legt Deine Variante auch entsprechend viele Datensätze an, während diese hier einen Fehler wirft. Was nun besser geeignet ist, hängt also vom konkreten Fall ab. [/edit] |
AW: SQL Insert mit Select
Zitat:
|
AW: SQL Insert mit Select
Wenn man nur einen Wert in die Tabelle schreiben will, muss man dann nicht einfach auch nur ein Feld angeben?
Insert Into Tabelle1(Feld1) Select EinFeld From Tabelle2 |
AW: SQL Insert mit Select
Sicher, sonst gibt das böse Fehlermeldungen. Der TE wollte aber 3 Felder befüllen, von denen wohl 2 Konstanten sind.
|
AW: SQL Insert mit Select
Ahrg:wall: Ich hab das in dem ersten Post nicht gerafft, dass das Absicht war mit den Konstanten. Ich dachte das wär der Workarround.
|
AW: SQL Insert mit Select
SQL-Code:
INSERT INTO tabelle (fqld1, feld2, feld3)
SELECT xxx, 'ksdhf', 34343 FROM tabellexxx WHERE yyy = aaa |
AW: SQL Insert mit Select
So steht es ja auch in #3.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 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-2025 by Thomas Breitkreuz