0

次のような関数を PostgreSQL で作成したいと考えています。

まず、テーブルからいくつかのデータを読み取り、「テーブル 1 から col1、col2 を選択」と言います。次に、上記の選択の各行に対して、他のテーブルに挿入したいテーブル 2 (日付などの追加の列を含む) とします。の上)。

挿入ごとに、特定の番号から始まり、新しい行ごとに増加する一意のキーが必要です。誰かが私にそれを行う方法の例を教えてもらえますか?

以下に説明することをしたいので、より具体的にする必要があります。

    For(every row in table1)
       if(table1.col1>0)
          insert into table2 (c1,c2,c3,c4) nalues (id,table1.col1,table1.col2,'oposite',current_timestamp)
       else if(table1.col1<0)
          insert into table2 (c1,c2,c3,c4) nalues (id,table1.col1,table1.col2,'negative',current_timestamp)

id+=1
4

2 に答える 2

3
insert table2(id, col1, col2)
select startingpoint-1+row_number() over (order by col1, col2), 
       col1, 
       col2 
from table1
于 2012-08-21T14:54:35.633 に答える
0

select intoを使用してこれを行うことができます。自動インクリメントフィールドを使用して2番目のテーブルを設定するだけで、一意のキーが得られます。

于 2012-08-21T14:53:04.737 に答える