设为首页 加入收藏

TOP

oracle中常用的对象(二)
2014-11-24 02:01:04 来源: 作者: 【 】 浏览:2
Tags:oracle 常用 对象
primary key(主键约束):用于唯一地标识表行的数据,当定义主键约束之后,主键约束列的列值不仅不能重复,而且也不能为null
136
137 4) foreign key(外部键约束):用于定义主从表之间的关系。外部键约束要定义在从表上,但主表必须具有主键约束或唯一约束。
138 当定义了外部键约束之后,要求外部键列的数据必须在主表键列中存在,或者为null。
139
140 5) check(检查约束):用于强制表行数据必须要满足的条件。
141
*/
142
143
144
----------------------------------------------
145
146
/*
147 定义约束
148
149 create table[schema.]table_name
150 (
151 column_name datatype [default expr] [column_constraint],
152 ……
153 [table_constraint][,……]
154 );
155 列级约束:
156 column [constraint constraint_name] constraint_type
157 表级约束:
158 column,……,
159 [constraint constraint_name] constraint_type
160 (column, ...)
161
*/
162
163
--!)定义not null约束
164
create
table emp01
165 (
166 eno int
not
null,
167 name varchar2(10) constraint nn_name not
null,
168 salary number(6,2)
169 );
170
--正确如下:
171
insert
into emp01
172
values(1,'aa',1000);
173
174
--有错
175
insert
into emp01
176
values(1,null,1000);
177
178
179
-----------------------------------------------------
180
181
--2)定义unique约束
182
create
table emp02
183 (
184 eno int,
185 name varchar2(10),
186 salary number(6,2),
187
constraint u_name unique(name)
188 );
189
190
insert
into emp02
191
values(1,'scott',1000);
192
insert
into emp02
193
values(2,'scott',1000);
194
--不能重新插入,用于唯一标示
195 ----------------------------------------------------
196
197
--3)定义primary key 约束
198
create
table dept04
199 (
200 dno int
primary
key,
201 dname varchar2(10),
202 loc varchar2(20)
203 );
204
205
insert
into dept04
206
values(1,'sales','dallas');
207
insert
into dept04
208
values(1,'admin','dallas');
209
---插入有错,主键不能重复
210
211
drop
table dept04;
212
-----------------------------------------------------------
213 --4)定义foreign key约束
214
215
create
table emp04
216 (
217 eno int ,
218 name varchar2(10),
219 salary number(6,2),
220 dno int
constraint ck_dno references dept04(dno)
221 );
222
223
insert
into emp04
224
values(111,'scott',1000,2);
225
insert
into emp04
226
values(111,'scott',1000,2);
227
---插入出错,违反完整约束条件
228
229
---------------------------------------------------------
230
231
--5)定义check约束
232
233
create
table emp05
234 (
235 eno int,
236 name varchar2(10),
237 salary number(6,2),
238
check(salary between
1000
and
5000)
239 );
240
241
insert
into emp05
242
values(1111,'scott',800);
243
--违反条件约束
244
245
--------------------------------------------------------
246
247
--6) 定义复合约束
248
249
create
table item
250 (
251 order_id number(3),
252 item_id number(3),
253 product varchar2(20),
254
primary
key(order_id,item_id)
255 );
256
257
-
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ORA-600[17182],ORA-07445[kghrst.. 下一篇oracle导入导出工具exp/imp

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: