Chinaunix

标题: 看看这个 sql 急死我了 [打印本页]

作者: together    时间: 2005-11-06 14:54
标题: 看看这个 sql 急死我了
db2 => alter table user_login alter column user_login_id generated always as ide
ntity (start with 100 increment by 1)

我想更改某列的 默认值,使其为从100自增的。用这个sql,不对,应该怎么写啊
作者: 足球小子    时间: 2005-11-06 21:07
这一列原来是怎么定义的?
DB2对于很多类型是不允许修改的,我印象中除了可以更改表中的约束,对于列的修改只有两种:
1.  添加一个新的列;
2.  把字符串类型的列的宽度增加。
其它的类型都无法修改。

所以,恐怕你需要把这张表删除重建了。
作者: mymm    时间: 2005-11-06 22:59
原帖由 together 于 2005-11-6 14:54 发表
db2 => alter table user_login alter column user_login_id generated always as ide
ntity (start with 100 increment by 1)

我想更改某列的 默认值,使其为从100自增的。用这个sql,不对,应该怎么写啊


是新表吗?

如果是新表,何不重建!

如果不是新表,新增加的识别字段值只能是用表达式算出来的,且增加顺序是:


  1. 1、SET INTEGRITY FOR user_login OFF;
  2. 2、alter table user_login add column user_login_id generated always as ( EXPRESSION );
  3. 3、SET INTEGRITY FOR user_login IMMEDIATE CHECKED FORCE GENERATED ;
复制代码


看来,如球兄所说,您只能重建了!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2