11. december 2005 - 15:57
Der er
13 kommentarer
Subselect i en insert-sætning??
Hej alle Kan det ikke lade sig gøre, at lave en sub-select i en insert-sætning? Jeg får: Subqueries are not allowed in this context. Only scalar expressions are allowed.
Annonceindlæg fra FPT Software
11. december 2005 - 15:58
#1
må jeg se din sql vh
11. december 2005 - 16:08
#2
f.eks.: Jeg har klippet "kernen" ud: INSERT INTO SFH (MEMBERID) VALUES (SELECT MAX(MEMBERID) FROM SFL)
11. december 2005 - 16:12
#3
Jeg ved ik hvad du koder i, men jeg gør eksakt det samme som dig når jeg tildeler id.. Gør det at du først henter max memberid ud fra databasen i en int variabel plus med 1 og lav så din insert query.. Vh Nicki
11. december 2005 - 16:16
#4
F.eks SELECT MAX(MEMBERID) FROM SFH Lav en metode der henter max memberid, sæt så variablen = metodens returværdi int memberid=hentmemberid() memberid = memberid +1; Og så din insert: "INSERT INTO SFH (MEMBERID) VALUES("+memberid+"); Vh
11. december 2005 - 16:40
#5
Jeg koder i asp (vb). Takker, men jeg har allerede den løsning, hvor jeg har delt det op, men jeg vil gerne have det i et sql-hug. Jeg prøver lige at undersøge, hvorfor det ikke virker på min sql-server.
11. december 2005 - 16:51
#6
Prøv den her: INSERT INTO SFH (SFH.MEMBERID) VALUES (SELECT MAX(MEMBERID) FROM SFL)
11. december 2005 - 16:57
#7
hvis det ikke virker er jeg desværre blank :) Held og lykke med det Vh
11. december 2005 - 17:32
#8
prøv: INSERT INTO SFH (MEMBERID) SELECT MAX(MEMBERID) FROM SFL altså uden VALUES
11. december 2005 - 20:03
#9
ok, du fjerner values-teksten og parenteserne, men hvad vil du så gøre, når der skal indsættes to værdier (altså en i hvert felt)?
11. december 2005 - 21:44
#10
INSERT INTO tabel (felt1,felt2,felt3) SELECT noget1,noget2,noget3 FROM andentabel
11. december 2005 - 22:16
#11
Incorrect syntax near ',' (dvs. ved sub-select'en) strSQL = "SET DATEFORMAT DMY INSERT INTO SFH (FUnique, OrdreNummer, FakturaNummer, SalgerID, PBSLeverence, Status, OrdreDato, FakturaDato, ForfaldDato, BehKonto, AltOmsKonto, KontoType, Debitor, FakturaDebitor, ProjektNr, Afdeling, Transaktion, PermanentUnique, Kategori, LevAdr1, LevAdr2, LevAdr3, LevAdr4, LeveringsKonto, LevAdr5, LevAdr6, LevAdr7, LevAdr8, FragtBrev, FragtCentral, Note1, Note2, BetalBet, VorRef, DeresRef, DeresRef2, Valuta, Klar, ProduktionsStatus, Title, FakturaType, Udskrevet, Bogfort, ExMoms, Moms, Inmoms, MomsFri, SumExTilskud, TilskudInMoms, TillagSum, KPsum, PunktAfgift, DB, DG, TotalVaegt, ProdInfo, LeveringsInfo, ProdNr, Note) SELECT MAX(FUNIQUE) + 1 FROM SFH, " & strOrderID & ", " & strInvoiceID & ", " & strSalespersonID & ", 0, 0, '" & strOrderDate & "', '" & strInvoiceDate & "', DATEADD(m, 1, '" & strOrderDate & "'), 7860, 0, '', " & strCustomerID & ", 0, 0, 0, 0, 0, 0, '" & strAddress1 & "', '" & strAddress2 & "', '" & strAddress3 & "', '" & strAddress4 & "', 0, '" & strAddress1 & "', '" & strAddress2 & "', '" & strAddress3 & "', '" & strAddress4 & "', '', '', '', '', " & strPaymentTerms & ", '', '', '', 0, 1, 0, '', 0, 0, 0, " & strPrice * 0.80 & ", " & strPrice * 0.80 * 0.25 & ", " & strPrice & ", 0, " & strPrice & ", 0, 0, 0, 0, " & strPrice & ", 100, 0, '', '', 0, '" & strNote & "'"
11. december 2005 - 22:42
#12
der er et eller andet galt med placeringen af din FROM
12. december 2005 - 09:52
#13
Prøv dette .. strSQL = "SET DATEFORMAT DMY INSERT INTO SFH (FUnique, OrdreNummer, FakturaNummer, SalgerID, PBSLeverence, Status, OrdreDato, FakturaDato, ForfaldDato, BehKonto, AltOmsKonto, KontoType, Debitor, FakturaDebitor, ProjektNr, Afdeling, Transaktion, PermanentUnique, Kategori, LevAdr1, LevAdr2, LevAdr3, LevAdr4, LeveringsKonto, LevAdr5, LevAdr6, LevAdr7, LevAdr8, FragtBrev, FragtCentral, Note1, Note2, BetalBet, VorRef, DeresRef, DeresRef2, Valuta, Klar, ProduktionsStatus, Title, FakturaType, Udskrevet, Bogfort, ExMoms, Moms, Inmoms, MomsFri, SumExTilskud, TilskudInMoms, TillagSum, KPsum, PunktAfgift, DB, DG, TotalVaegt, ProdInfo, LeveringsInfo, ProdNr, Note) SELECT MAX(FUNIQUE) + 1, " & strOrderID & ", " & strInvoiceID & ", " & strSalespersonID & ", 0, 0, '" & strOrderDate & "', '" & strInvoiceDate & "', DATEADD(m, 1, '" & strOrderDate & "'), 7860, 0, '', " & strCustomerID & ", 0, 0, 0, 0, 0, 0, '" & strAddress1 & "', '" & strAddress2 & "', '" & strAddress3 & "', '" & strAddress4 & "', 0, '" & strAddress1 & "', '" & strAddress2 & "', '" & strAddress3 & "', '" & strAddress4 & "', '', '', '', '', " & strPaymentTerms & ", '', '', '', 0, 1, 0, '', 0, 0, 0, " & strPrice * 0.80 & ", " & strPrice * 0.80 * 0.25 & ", " & strPrice & ", 0, " & strPrice & ", 0, 0, 0, 0, " & strPrice & ", 100, 0, '', '', 0, '" & strNote & "' FROM SFH" i.e. jeg har flyttet " FROM SFH" til slutningen
Computerworld tilbyder specialiserede kurser i database-management