oracle 存储过程中,不想让数据出现重复值该怎么办?

用存储过程插入值时,不让数据出现重复值。数据表中没有唯一限制。... 用存储过程插入值时,不让数据出现重复值。
数据表中没有唯一限制。
展开
 我来答
mailking2001
推荐于2016-05-06 · TA获得超过817个赞
知道小有建树答主
回答量:1037
采纳率:100%
帮助的人:757万
展开全部
你的表没有主键的吗?
如果你是一条记录多个列不想有重复的值,你可以把这几列建立唯一约束。
如果你是一列记录不想有重复值,你可以把该列建立唯一约束。
你用存储过程插入数据还要判断是否重复,面对频繁的插入你考虑到效率了没有,而且还非常容易出错。正常的方法都是通过约束达到去重。
如果非要使用存储过程,
使用
if (select * from tablename where 你的列='你插入的变量') 判断是否有值
then
dbms_output.putline('该值已经存在') ;
else
insert into tablename 你的列 values ('你插入的变量');
end if
gorica
2011-05-26 · TA获得超过505个赞
知道小有建树答主
回答量:546
采纳率:0%
帮助的人:295万
展开全部
插入数据之前先判断一下表里有没有相同数据了,没有就插入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangxy3
2011-05-26 · TA获得超过107个赞
知道答主
回答量:271
采纳率:0%
帮助的人:63.8万
展开全部
用distinct 【select distinct username from tablename 】

或者 聚合函数 分组 去重
select a.area_code, sum(nvl(a.mms_mt_count,0)),count(a.phone_number)
from table_name a group by a.area_code
追问
我问的是用存储过程进行插入时 如何不出现重复数据 ,你们给查询方法干嘛。看清楚再答行不
追答
借助临时表,然后把查询出来的唯一数据插入 实时表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石亮东
2011-05-26 · TA获得超过1217个赞
知道小有建树答主
回答量:2022
采纳率:66%
帮助的人:1414万
展开全部
SELECT DISTINCT FROM TABLENAME
追问
你这关存储过程什么事?
追答
数据表中没有唯一限制。
沒有不會加一個啊.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式