asoka.hang's oracle/java blog
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
4 随笔 :: 0 文章 :: 0 评论 :: 0 Trackbacks
<
2006年4月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
常用链接
我的随笔
我的评论
我的参与
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
Java
(rss)
Oracle(4)
(rss)
随笔档案
2006年4月 (4)
搜索
最新评论
阅读排行榜
1. ORACLE中的OOP:可变数组的运用(640)
2. ORACLE中的OOP:继承(447)
3. 很妙的一句SQL语句 :)(287)
4. 请保持约束条件的一直存在:最好先add后drop(258)
评论排行榜
1. 请保持约束条件的一直存在:最好先add后drop(0)
2. 很妙的一句SQL语句 :)(0)
3. ORACLE中的OOP:可变数组的运用(0)
4. ORACLE中的OOP:继承(0)
2006年4月19日
#
请保持约束条件的一直存在:最好先add后drop
大家知道,oracle中没有提供修改约束条件的命令,如果要用到修改约束条件时,常规做法就是先drop掉当前约束再重新创建一个新约束条件,从应用层次而言,这样做是不妥的。
常规做法如下:
SQL
>
create
table
test_constraint
2
(
3
id
number
,
4
name
varchar
(
25
),
5
age
number
constraint
age_ct
check
(age
between
0
and
99
)
6
);
表已创建。
SQL
>
alter
table
test_constraint
drop
constraint
age_ct;
表已更改。
SQL
>
alter
table
test_constraint
add
constraint
age_ct
check
(age
between
18
and
99
);
表已更改。
tom在一篇文章中这样讲:
“我会用两条命令:一条增加一个新的约束,另一条删除旧的约束。”,仔细理解也就是说他会先将新的约束条件进行添加以达到新的要求需求,而事后再对旧的约束条件予以drop,这种做法通过sqlplus表现如下:
SQL
>
drop
table
test_constraint;
表已丢弃。
SQL
>
create
table
test_constraint
2
(
3
id
number
,
4
name
varchar
(
25
),
5
age
number
constraint
age_ct
check
(age
between
0
and
99
)
6
);
表已创建。
SQL
>
alter
table
test_constraint
add
constraint
agenew_ct
check
(age
between
18
and
99
);
表已更改。
SQL
>
alter
table
test_constraint
drop
constraint
age_ct;
表已更改。
从应用层面上而言,更改一个约束名称并不会受到影响,通过上面方法既将新的约束条件增加进去了又没有影响到应用(先drop后add的做法在这里显得是一种错误的做法)。
posted @
2006-04-19 17:30
asoka的oracle/java博客 阅读(258) |
评论 (0)
|
编辑
收藏
Powered by:
BlogJava
Copyright © asoka的oracle/java博客