Oracle: DELETE前不需SELECT判断记录是否存在,INSERT前不需SELECT判断是否有若干字段值重复的记录。

先创建一个表T,后面都以T表为例。

SQL> CREATE TABLE T(ID NUMBER, NAME VARCHAR2(10));

1. DELETE语句

在PROC程序中这样处理:

EXEC SQL DELETE FROM T WHERE ID = 1 AND NAME = 'aaa';

if(1403 == sqlca.sqlcode)

{

删除失败,没找到满足条件的记录。

}

2. INSERT语句

先把T表ID和NAME字段一起做唯一性约束,UNQ_T 是随便起的约束名称:

SQL> ALTER TABLE T3 ADD CONSTRAINTS UNQ_T UNIQUE(ID,NAME);

插入一条记录:

SQL> INSERT INTO T VALUES(1,'aaa');

1 row created.   // 插入成功

再一次插入这条记录:

SQL> INSERT INTO T VALUES(1,'aaa');

ORA-00001: unique constraint (XXX.UNQ_T) violated //提示出现唯一性约束错误,插入失败。

在PROC程序中这样处理:

EXEC SQL INSERT INTO T (ID, NAME) VALUES (1, 'aaa');

if(sqlca.sqlcode != -1) // 插入新记录成功?

{

插入新记录成功

}

oracle判断一个值不在记录中,Oracle: DELETE前不需SELECT判断记录是否存在,INSERT前不需SELECT判断是否有若干字段值重复的记录。...相关推荐

  1. 判断一个点是否在RotatedRect中

    openCV函数pointPolygonTest(): C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measur ...

  2. python3判断变量存在_Python3基础 list in/not in 判断一个变量是否在列表中存在

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

  3. 在mysql数据库中查询某个字段不重复的记录

    查询表中某个字段不重复的记录 使用Distinct关键字         Distinct关键字主要用来在SELECT查询记录中根据某指定字段的值去除重复记录      SELECT DISTINCT ...

  4. 查询出某个字段不重复的记录

    在使用mysql时,有时需要查询出某个字段不重复的记录.可以用count函数结合distinct来使用. select COUNT(distinct license) as count from gi ...

  5. 方法:判断一个点是否在一个立方体中

    判断方法:从该点出发,做任意方向的一根射线,看与构成长方体的各平面的交点数. --如果为偶数,则在长方体之外,如果为奇数,则在长方体之内. 判断一个点是否在多边形内部 https://blog.csd ...

  6. 如何查询出一个字段不重复的记录?

    文章已更新,最新地址:http://www.fearlazy.com/index.php/post/133.html 测试环境mysql5.7 现有测试表tb_books(数据库:testdataba ...

  7. java怎么判断一个char是汉字_JAVA中判断char是否是中文的几种方法

    展开全部 对照最新版本的 Unicode (最少是62616964757a686964616fe59b9ee7ad9431333335343330 6.0  版本,不知道现在是否有 7.0) 里面找从 ...

  8. SQL判断一个时间段 是否在数据库中与其他时间段有重叠 判断时间重叠

    数据库字段startDate 开始时间   endDate 结束时间  -两个参数 比如查2-2  至2-6 在数据库中是否与其他时间有重叠 四个条件有一项满足则有重叠时间 思路是这样子 以开始和结束 ...

  9. python中not加变量是_Python3基础 in 与 not in 判断一个变量是否在列表中存在

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体. ------------------------------------- ...

  10. java判断一个月有多少天代码_java oracle 查询一个月有多少天

    查询月的天数 java Calendar c= Calendar.getInstance(); c.set(Calendar.YEAR, nYear); c.set(Calendar.MONTH, n ...

最新文章

  1. Cuckoo hash算法分析——其根本思想和bloom filter一致 增加hash函数来解决碰撞 节省了空间但代价是查找次数增加...
  2. python3语法-python3 标签语法有什么用?
  3. 农业走出去-国际农民丰收节贸易会·刘合光:走向全球思考
  4. PHP提取字符串中的数字
  5. Android:Activity(三):启动其他Activity并返回结果
  6. Leetcode 242. 有效的字母异位
  7. 【笔记】shell下的主要工具
  8. linux系统终端快捷键,Linux终端快捷键整理
  9. 免费好用的流程图软件yed
  10. 【光电智造】机器人视觉伺服技术
  11. Android——地图
  12. NDK制作一个安卓执行程序
  13. Ranklib部分源码分析
  14. 程序员与爱情不仅只是擦肩而过
  15. 题解 P5265 【模板】多项式反三角函数
  16. 红旗linux操作系统怎样,红旗linux操作系统应该怎么用
  17. 数据中心模块化、标准化、预制化、定制化、智能化……傻傻分不清楚?大咖来帮你!...
  18. 操作系统安全-第一章-引言
  19. 一个农民工混迹于 IT 行业多年后的泣血总结
  20. LTE上行链路反馈MCS(计算MCS、调制阶数、编码速率、频谱效率关系表格)

热门文章

  1. 眼底图像血管增强与分割--(1)匹配滤波算法原理及实现
  2. 随笔小杂记(六)——tqdm进度条显示出现多余行
  3. ElasticNet算法解析
  4. Dropout和BN层的模式切换
  5. 【bozj2287】【[POJ Challenge]消失之物】维护多值递推
  6. LeetCode 要记得一些小trick
  7. Redis无法保存ef复杂对象
  8. 【IScroll深入学习】解决IScroll疑难杂症
  9. 第一部分 1.2 定义OC的类和创建OC的对象
  10. 【VS2010学习笔记】【函数学习】一(VC6.0和VS2010主函数的不同)