2017-02-27 25 views
0

カラムにset_idのシーケンス番号があるテーブルがあります。テーブルにさらにレコードを追加する予定です。今、番号のシーケンスの自動インクリメントを行うにはどうしたらいいですか?キー列自動インクリメント

例:私は最大値が37になりました。新しいレコードを追加するときに38などから開始したいのですが、どのようにSQLクエリを書くのですか?

insert into abc.data (set_id, set_cd, set_desc, type_cd, mgt_cd, mgt_desc, itm_cd, upd_dt, upd_by) 
values (38, 111, other, S, total, totalwww, 0000434, 27-feb-17, kiran) 

など..私は39にインクリメントするにはどうすればよい

...最大?

SQLサーバについて

+1

を私は互換性のないデータベースタグを削除しました。実際に使用しているデータベースにタグを付けてください。 –

+0

自動インクリメント列(SQL Server: 'identity(1,1)' MySQL 'AUTO_INCREMENT')の構文や、アイデンティティ・インサートの構文を探しているかどうかは不明です –

+0

Oracle SQlサーバー – kiran

答えて

1

(あなたはまた、MySQLをタグ付けしている):あなたが使用することができますset identity_insert ...

set identity_insert abc.data on; 

insert into abc.data 
    (set_id,set_cd,set_desc,type_cd,mgt_cd,mgt_desc,itm_cd,upd_dt,upd_by) 
values (38,111,other,S,total,totalwww,0000434,27-feb-17,kiran) 

set identity_insert abc.data off; 

それとも、その列に挿入し、identityハンドルもさせない:

insert into abc.data 
    (set_cd,set_desc,type_cd,mgt_cd,mgt_desc,itm_cd,upd_dt,upd_by) 
values (111,other,S,total,totalwww,0000434,27-feb-17,kiran) 

あなたがsequenceを使用しているなら、あなたはnext value for dbo.sequencename使用することができます。

insert into abc.data 
    (set_id,set_cd,set_desc,type_cd,mgt_cd,mgt_desc,itm_cd,upd_dt,upd_by) 
values (next value for dbo.mysequence,111,other,S,total,totalwww,0000434,27-feb-17,kiran) 
関連する問題