... bist Du der User 'postgres'.
Ja. Das ist kein Shell-Befehl, sondern ein SQL-Befehl. Um einen SQL-Befehl abzusetzen benötigt man einen passenden Client. Ein Shell-Terminalfenster nimmt Shell-Befehle entgegen. Falls man dort versucht, einen SQL-Befehl einzugeben, kommt erwartungsgemäß ein Fehler.update parts set sellprice=(select parts_temp.sellprice from parts_temp where parts.id=parts_temp.id) where id in (select id from parts_temp);
ausgeführt. Habe ich da noch einen Denkfehler?
So, falls nun noch nicht klar ist, was Du vergessen hast: starte psql.Code:kretschmer@tux:~$ update parts set sellprice=(select parts_temp.sellprice from parts_temp where parts.id=parts_temp.id) where id in (select id from parts_temp ); bash: syntax error near unexpected token `('
*seufz*
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Hallo,
prima, das scheint zu klappen. Allerdings habe ich in meiner Tabelle noch weitere 6 Spalten, die auch upgedatet werden müsten. Wie kann ich die ebenfalls updaten lassen, ohne den Befehl mehrfach auszuführen?
Ich habe überings auch versuch, mal einige Artikel in der CSV-Liste zu löschen und dann die Liste in die parts_tmp - Tabelle hochgeladen, dann die Tabelle parts mit der parts_tep - Tabelle upgedatet, aber die Artikel, die ich gelöscht hatte waren immer noch da. Liegt das daran, das ich nur eine Spalte bearbeitet hatte und nicht alle?
Gruß Nixdorf
Wie wäre es einklich, mal a bissl in die Doku zu schauen und zu erforschen, was alles mit UPDATE geht?
Code:test=# create table foo (id int, val1 int, val2 int, val3 int); CREATE TABLE test=*# insert into foo values (1,11,12,13); INSERT 0 1 test=*# insert into foo values (2,21,22,23); INSERT 0 1 test=*# update foo set val1=val1*2, val2=val2*3 where id = 1; UPDATE 1 test=*# select * from foo; id | val1 | val2 | val3 ----+------+------+------ 2 | 21 | 22 | 23 1 | 22 | 36 | 13 (2 rows)
Deine parts_temp - table vorher leer gemacht?Ich habe überings auch versuch, mal einige Artikel in der CSV-Liste zu löschen und dann die Liste in die parts_tmp - Tabelle hochgeladen, dann die Tabelle parts mit der parts_tep - Tabelle upgedatet, aber die Artikel, die ich gelöscht hatte waren immer noch da. Liegt das daran, das ich nur eine Spalte bearbeitet hatte und nicht alle?
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Hallo,
ja kannst du. Hier nochmals der Hinweis auf die Doku - da steht das nämlich drinnen: PostgreSQL: Documentation: Manuals: PostgreSQL 8.2: UPDATE
cu tb.
Hallo,
prima, das scheint zu klappen. Allerdings habe ich in meiner Tabelle noch weitere 6 Spalten, die auch upgedatet werden müsten. Wie kann ich die ebenfalls updaten lassen, ohne den Befehl mehrfach auszuführen?
Ich habe überings auch versuch, mal einige Artikel in der CSV-Liste zu löschen und dann die Liste in die parts_tmp - Tabelle hochgeladen, dann die Tabelle parts mit der parts_tep - Tabelle upgedatet, aber die Artikel, die ich gelöscht hatte waren immer noch da. Liegt das daran, das ich nur eine Spalte bearbeitet hatte und nicht alle?
Gruß Nixdorf
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen