I think this can be done with one SQL statement, but I'm not sure.

I have two tables: table t contains key k, another field f, and a bunch of other stuff.

In a poor design decision, table tsubset contains a small number of "pointers" to t. I should have used the k column; instead I used the f column (it is unique, but not the primary key).

I want to fix this.

I altered tsubset to have two columns, f and k, where k will be a foreign key referencing t(k).

I now need to copy all the k values from t to tsubset.

I think I want to do something like this:

foreach f in tsubset
 update tsubset set k=(select k from t, tsubset where t.f=f);
end

Can this be done with one SQL statement?


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to