一个DB2的问题

来源:百度知道 编辑:UC知道 时间:2024/05/07 02:41:16
我想编个DB2脚本,内容是创建一个学生表!创建好后删除某一个学生内容,但是删除后的ID号还是从1开始计数!
例如:
create table student
(
ID varchar(10) not null primary key,
Name varchar(20) not null,
Sex varchar(2) not null
)

insert into student values('1','aaa','男')
insert into student values('2','bba','男')
insert into student values('3','bbb','男')
insert into student values('4','abb','男')

delete from student where ID = '2'

现在表内结果应为:
1,aaa,男
3,bbb,男
4,abb,男

而我要的结果是:
1,aaa,男
2,bbb,男
3,abb,男

任何数据库都不会提供这样的功能的,你得自己来处理一下,可以新建一个触发器,或在删除之后手工设置
update student set id = id - 1 where id > '2'
这样的语句在SQL Server中应该可以执行,没有用过DB2,不知道可不可以,你可以试下,如果把id字段设置成int类型的应该会可以执行的,或是在语句里面对id进行类型转换。