oracle sql 某一字段如果没有就插入,如果有就不执行

假如我有一张表A:IDNAMEDETAILS1A_NAMEA_DETAILS2B_NAMEB_DETAILS……当我准备插入一条信息时,我想首先判断一下数据库里是否有NA... 假如我有一张表A:
ID NAME DETAILS
1 A_NAME A_DETAILS
2 B_NAME B_DETAILS
……
当我准备插入一条信息时,我想首先判断一下数据库里是否有NAME这个字段重名的现象,如果存在重名,则不执行插入,如果没有重名,就执行。
如当我执行insert into A(ID,NAME,DETAILS) values(:new.ID,'B_NAME','X_DETAILS');时,由于B_NAME表里已经存在,即使其他字段内容不同,仍然不执行任何操作(不插入)。
请问该如何写这样的判断语句?谢谢!
那我如果是NAME 和DETAILS都不能重复呢?就是两者同时重复,还能用unique索引吗?
展开
 我来答
饬殇07
2014-10-28
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
建立触发器,INSTEAD OF代替插入,用merge怎么样,when not match就插入
追问
我也想写触发器,可惜功底不扎实。。。具体怎么写?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnsuyong
2014-10-28
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
对 NAME 字段做 Unique 索引,随便插都插不进去了。
追问
可是我设置了之后执行就会报错,怎样不报错呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殇忄路
2014-10-28
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
把字段NAME设置为主键或者Unique索引,怎么样?
写个插入触发器吧
追问
怎么写呢
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式