有没有办法限制某个库表只允许插入一条记录呢??
做了一个东西,其中一个表只保存一条记录,但是无法不知道怎么防治别人误插进多的数据去,请问大家有解决方案吗?? 问题点数:20、回复次数:8Top
1 楼westken(头上的包)回复于 2004-09-03 19:39:44 得分 0
upTop
2 楼guolibin(豆腐干)回复于 2004-09-03 19:49:04 得分 2
使用条件(CHECK)约束:
CREATE TABLE TABLENAME(
COL1 ....,
COL2 ....,
CONSTRAINT COL1_CK
CHECK(COL1 = 指定值));
ALTER TABLE TABLENAME
ADD CONSTRAINT COL1_UK UNIQUE(COL1);Top
3 楼westken(头上的包)回复于 2004-09-03 19:53:21 得分 0
怎么在oracle的服务器端进行操作啊?我是说可视化的操作?Top
4 楼zhpsam109(JACKY.昊昊)回复于 2004-09-03 20:01:25 得分 0
使用触发器!Top
5 楼zhpsam109(JACKY.昊昊)回复于 2004-09-03 20:01:43 得分 0
before insertTop
6 楼wupangzi(无本之木)回复于 2004-09-03 22:22:53 得分 0
搞个触发器!
Top
7 楼etheltim(etheltim)回复于 2004-09-03 22:35:43 得分 9
Up,用一个BEFORE INSERT 的触发器,触发器属性为INSERTING,然后
Declare
p_Count Number;
Begin
Select count(*) Into p_Count
From XXXXXX --本表
If p_Count>0 Then
Raise_Application_Error(-20501,'本表只能有一条记录!');
End If;
End;
Top
8 楼qiaozhiwei(乔)回复于 2004-09-03 23:25:08 得分 9
Declare
p_Count Number;
Begin
Select count(*) Into p_Count
From XXXXXX --本表
If p_Count>0 Then
Raise_Application_Error(-20501,'本表只能有一条记录!');
End If;
End;
赞成,触发器好一点,比约束条件稳妥Top




