PostgreSQL 7.2.1
serial 型というのがあってこれで宣言しておくとテーブル生成と同時に一意のシーケンスが生成される。MS-Access のオートナンバー型といっしょ。
create table tblSC (
sc_no serial primary key,
sc_ym character(6) not null,
sc_day character(2) not null,
sc_title varchar(60) not null,
sc_ketteiflg character(1)
);
insert into tblsc (sc_ym, sc_day, sc_title) values ('200406', '22', 'AAA');
insert into tblsc (sc_ym, sc_day, sc_title) values ('200406', '22', 'BBB');
insert into tblsc (sc_ym, sc_day, sc_title) values ('200406', '22', 'CCC');
insert into tblsc (sc_ym, sc_day, sc_title) values ('200406', '22', 'DDD');
*実際に実行すると
uni=> create table tblSC (
uni(> sc_no serial primary key,
uni(> sc_ym character(6) not null,
uni(> sc_day character(2) not null,
uni(> sc_title varchar(60) not null,
uni(> sc_ketteiflg character(1)
uni(> );
NOTICE: CREATE TABLE will create implicit sequence 'tblsc_sc_no_seq' for SERIAL column 'tblsc.sc_no'
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'tblsc_pkey' for table 'tblsc'
CREATE
uni=>
uni=> insert into tblsc (sc_ym, sc_day, sc_title) values ('200406', '22', 'AAA');
NOTICE: tblsc_sc_no_seq.nextval: sequence was re-created
INSERT 17527 1
uni=> insert into tblsc (sc_ym, sc_day, sc_title) values ('200406', '22', 'BBB');
INSERT 17528 1
uni=> insert into tblsc (sc_ym, sc_day, sc_title) values ('200406', '22', 'CCC');
INSERT 17529 1
uni=> insert into tblsc (sc_ym, sc_day, sc_title) values ('200406', '22', 'DDD');
INSERT 17530 1
uni=> select * from tblsc;
sc_no | sc_ym | sc_day | sc_title | sc_ketteiflg
-------+--------+--------+----------+--------------
1 | 200406 | 22 | AAA |
2 | 200406 | 22 | BBB |
3 | 200406 | 22 | CCC |
4 | 200406 | 22 | DDD |
(4 rows)
Dropする時は
drop table tblSC;
drop sequence tblsc_sc_no_seq;
参考URL
http://ash.jp/db/pg_use.htm