2016-06-28 5 views
0

私は進行中のテーブルのテーブルを持っています。 (読み:NOT POSTGRES)。 それは3つの列を持っていますが、列の1つが自動インクリメントになるようにするには1で始まり、1だけインクリメントします。 次の構文を試しましたが、動作していません。進捗状況テーブル自動増分?

create sequence pub.Customer_sequence 
    start with 1, 
    increment by 1, 
    nocycle; 

エラーメッセージは言う:

"Customer_sequence" の後に理解することができません

は進歩がSQLではありません2

enter image description here

答えて

2

ラインを理解することができませんでした。少量のSQL-89が含まれていますが、一般的には有用ではありません。

自動インクリメントフィールドと同等の処理は何もありません。この機能を使用するには、CREATEトリガーとSEQUENCEの組み合わせを使用します。

あなたは$ DLC /スポーツ/ crcust.pでシーケンスを使用して作成するトリガーの例を見つけることができますが:

TRIGGER PROCEDURE FOR Create OF Customer. 

/* Automatically Increment Customer Number using Next-Cust-Num Sequence */ 

ASSIGN Customer.Cust-Num = NEXT-VALUE(Next-Cust-Num). 
+0

右。たぶん、私は単純な "最後の検索"を今使っています。ユーティリティで自分自身をインクリメントします。ありがとうございます – BobNoobGuy

+1

慎重に行われていないと、過剰なロック競合が発生し、スケーラビリティの問題が発生する可能性があります。 –

0

シーケンスは、おそらくあなたが得る最も近いです。

データディクショナリを参照してください。ツールメニューの下にあります。

スキーマメニューには「シーケンスエディタ」があります。それは始めるのに適しているかもしれません。