Gegeben:
CREATE TABLE A (
PK_A INT8 NOT NULL,
A INT8,
PRIMARY KEY (PK_A)
);
CREATE TABLE B (
PK_B INT8 NOT NULL,
B INT8,
PRIMARY KEY (PK_B)
);
Diese Abfrage:
insert into table_b (pk_b, b)
select pk_a,a from table_a
on conflict (b) do update set b=a;
verursacht den folgenden Fehler:
ERROR: column "a" does not exist LINE 1: ...elect pk_a,a from table_a on conflict (b) do update set b=a; ^ HINT: There is a column named "a" in table "*SELECT*", but it cannot be referenced from this part of the query.
Wie mache ich das Update unter Bezugnahme auf den Inhalt von table_a
?
do update set b = a;
nicht finden kann „a“ , weil es Bezugnahme auf die Tabelle „b“ und nicht auf die Subquery, versuchendo update set b = (select a from a);
CREATE TABLE A...
Tabelle erstellta
, nichttable_a
.