次のように作成されたテーブルがあるとします。
CREATE TABLE test_table (id serial, unique_id varchar(50) primary key, name varchar(50));
test_table
----------
id | unique_id | name
そのテーブルで、新しく挿入された ID と挿入された名前を一度に連結して、unique_id フィールドを更新したいと思います。
通常、これは 2 つのクエリによって実行されます。(PHPの方法)
$q = "INSERT INTO table (unique_id,name) values ('uid','abc') returning id||name as unique_id;";
$r = pg_query($dbconn,$q);
$row = pg_fetch_array($r);
$q1 = "UPDATE test_table set unique_id =".$row['unique_id']." where unique_id='uid'";
$r1 = pg_query($dbconn,$q1);
単一のクエリで上記を行う方法はありますか?