自動採番列


  PostgreSQL



  
create table "自動" (
	"社員コード" SERIAL
	,"氏名" VARCHAR(50)
	,primary key("社員コード")
)
  

次の値を挿入するには、デフォルト値を割り当てるよう指定してください。
これは、INSERT文の列リストからその列を除外するか、DEFAULTキーワードを使用することで行ないます

serial は、実際は sequence を作成します。
serial で作成された sequence はテーブルの削除と共に削除されます

  
create sequence "自動_社員コード_seq";
create table "自動" (
	"社員コード" integer DEFAULT nextval('自動_社員コード_seq') NOT NULL
	,"氏名" VARCHAR(50)
	,primary key("社員コード")
)
  
シーケンスの存在の確認は、pg_class で行えます ( relkind = 'S' )。


以下は増分の変更

  
alter sequence 自動_社員コード_seq
	increment 10
  

以下は開始番号の変更

  
alter sequence 自動_社員コード_seq
	restart 100
  


insert 後、自動採番された値を取得するには、lastval() 関数を使用します

insert into "自動" ("氏名") values(NULL);
select lastval();

※ 現在のセッションのnextvalで戻される最新の値を返します。
※ 現在のセッションでnextvalが未だ呼ばれていなければエラーになります。










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ