`
akiraray
  • 浏览: 90319 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Pro*C 基础教程-简化版_Vol5 基本增删改

阅读更多

前言

主要介绍基本的CRUD操作语句以及相关知识点。

 

数据插入

使用嵌入式INSERT语句一次插入一行或多行记录

一行记录

EXEC SQL INSERT INTO TALBE_NAME (XXX,XXX,XXX) VALUE (:xxx,:xxx,:xxx);

多行记录

EXEC SQL BEGIN DECLARE SECTION;

  char aaa[100][20];

  float bbb[100];

   int insert_rows;

EXEC SQL END DECLARE SECTION;

 

insert_rows=50;

EXEC SQL INSERT FOR :insert_rows

INSERT INTO TABLE_NAME(AAA,BBB)

VALUES (:aaa,:bbb);

 

几点说明

  1. 往一张表中插记录,首先需要保证登录的用户有执行权限;
  2. FOR子句用于设置处理的数组元素数量,适用于INSERT,UPDATE,DELETE操作。FOR之后的一定需要是SQL宿主变量,而不可以为C语言的常量与字面值;
  3. 使用数组时,WHERE子句后要不全部是标量,要不全部为数组,二者不可以混用。如果为标量,则ORACLE执行一次,如果为数组,则ORACLE对每一组数组元素执行一次INSERT语句。
  4. WHERE子句中的数组大小可以不同,在这种情况下:
    • 没有FOR子句时,由较小的数组维数决定;
    • 有FOR子句时,由其后的数组变量决定。

 

数据更新

使用嵌入式UPDATE语句更新数据库中的记录信息

更新一条记录

EXEC SQL UPDATE TABLE_NAME

SET AAA=:aaa

WHERE BBB=:bbb

更新一组记录

char bbb[10][20];

float aaa;

 

EXEC SQL UPDATE TABLE_NAME

SET XXX=:aaa WHERE BBB=:bbb

 

几点说明

  1. 执行更新时,必须有执行权限
  2. 使用数组时,WHERE子句后要不全部是标量,要不全部为数组,二者不可以混用。如果为标量,则ORACLE执行一次,如果为数组,则ORACLE对每一组数组元素执行一次UPDATE语句。
  3. WHERE子句中的数组大小可以不同,在这种情况下:
    • 没有FOR子句时,由较小的数组维数决定;
    • 有FOR子句时,由其后的数组变量决定。
  4. 累计修改的行数在SQLCA的SQLERRD[2]中返回
  5. 如果没有满足条件的记录被更新,则返回错误信息

 

数据删除

使用嵌入式DELETE语句,删除数据库中的记录信息

简单删除

EXEC SQL DELETE FROM TABLE NAME WHERE XXX=:xxx;

 

光标删除

/*声明游标*/

EXEC SQL DECLARE tmp_cursor for SELECT ….

/*打开当前游标*/

EXEC SQL OPEN tmp_cursor ;

/*执行FETCH 动作*/

EXEC SQL FETCH tmp_cursor INTO:xxx,:yyy;

EXEC SQL DELETE FROM TABLE_NAME

  WHERE CURRENT OF tmp_cursor;

 

使用数组删除

int number[10];

 

EXEC SQL DELETE FROM TABLE_NAME WHERE XXX=:xxx;

 

几点说明

  1. 首先需要拥有相应表的删除权限
  2. 使用数组时,WHERE子句后要不全部是标量,要不全部为数组,二者不可以混用。如果为标量,则ORACLE执行一次,如果为数组,则ORACLE对每一组数组元素执行一次DELETE语句。
  3. WHERE子句中的数组大小可以不同,在这种情况下:
    • 没有FOR子句时,由较小的数组维数决定;
    • 有FOR子句时,由其后的数组变量决定。
  4. 如果没有满足DELETE的条件的行被删除,则返回"NOT FOUND"错误码
  5. SQLCA中的SQLERRD[2]返回删除的累计行数。 
分享到:
评论

相关推荐

    ProC 基础教程-简化版_Vol5 基本增删改

    ### ProC基础教程—简化版 Vol5:基本增删改 #### 数据插入 **概述** 在Pro*C/C++(简称ProC)中进行数据插入,主要是通过嵌入式的`INSERT`语句来实现的。ProC是一种将SQL语句嵌入到C语言中的编程方式,它允许...

    ProC 基础教程-简化版_Vol4 登录

    ### ProC基础教程简化版Vol4:登录详解 #### 前言 本文档旨在详细介绍如何使用Pro*C/C++(简称ProC)与Oracle数据库进行交互,并特别关注于登录过程。无论是在开发还是维护阶段,登录操作都是必不可少的一步,它...

    i-KlPrice_Vol_Direct_HTF - MetaTrader 5脚本.zip

    《MetaTrader 5中的i-KlPrice_Vol_Direct_HTF脚本详解》 MetaTrader 5(MT5)是一款广泛应用于外汇、期货和股票市场的交易平台,它为交易者提供了丰富的技术分析工具和自动化交易功能。本文将深入探讨标题为“i-...

    LS-DYNA 971 R6.1.0关键字手册卷二[LS-DYNA_manual_Vol_II_R6.1.0]

    本次介绍的文档——“LS-DYNA 971 R6.1.0关键字手册卷二”(LS-DYNA_manual_Vol_II_R6.1.0)是关于**LS-DYNA**软件中材料模型部分的详细介绍,发布于2012年8月,版本号为971 R6.1.0。 #### 二、文档结构与主要内容 ...

    PBR_Guide_PBR_vol-2详解_中文版.rar

    《PBR_Guide_PBR_vol-2详解_中文版》是一个关于物理渲染(PBR,Physics-Based Rendering)的深入指南,旨在帮助读者理解和掌握这一现代3D图形技术的核心概念和应用。PBR是一种广泛应用于游戏开发、电影制作、虚拟...

    ProC 基础教程-简化版 Vol2 通讯区

    ### ProC基础教程—简化版Vol2:通讯区详解 #### 一、通讯区简介 在Oracle数据库的应用程序开发过程中,通讯区起到了桥梁的作用,它能够帮助开发者获取SQL语句执行后的状态信息,从而便于进行错误处理和追踪。...

    Exp_i-KlPrice_Vol_Direct - MetaTrader 5EA.zip

    《基于i-KlPrice_Vol_Direct指标信号的MetaTrader 5 EA交易系统详解》 在金融交易领域,自动交易系统已经成为许多投资者和交易者的首选工具。MetaTrader 5(MT5)作为一款强大的外汇交易平台,提供了丰富的功能,...

    LS-DYNA 971 R6.1.0关键字手册卷一[LS-DYNA_manual_Vol_I_R6.1.0]

    - **基本设置关键字**: 如*CONTROL_TIMESTEP*, *CONTROL_OUTPUT*等,用于控制模拟的基本运行参数。 - **材料属性关键字**: 如*MAT_*(各种材料类型),定义不同材料的物理特性。 - **单元属性关键字**: 如*SOLID*, ...

    i-KlPrice_Vol_Direct - MetaTrader 5脚本.zip

    《MetaTrader 5脚本深度解析:i-KlPrice_Vol_Direct》 在金融交易领域,MetaTrader 5(MT5)是一个广泛使用的交易平台,它提供了丰富的交易工具和技术分析功能。本文将深入探讨一个基于MT5的特殊脚本——"i-KlPrice...

    Infineon-AURIX_TC39x_UserManual-v01_0..pdf

    Infineon-AURIX_TC39x_UserManual- V1.5 2020.04

    Exp_i-KlPrice_Vol - MetaTrader 5EA.zip

    《基于i-KlPrice_Vol指标信号的MetaTrader 5 EA交易系统详解》 在外汇交易领域,自动化交易系统(Expert Advisor,简称EA)已成为许多交易者的首选工具,以提高交易效率和降低人为错误。本文将详细介绍一个名为"Exp...

    PBR材质宝典_PBR_Guide_Vol2_中文版_vol_pbr_pbrt_

    《PBR材质宝典_PBR_Guide_Vol2_中文版》是一本专注于PBR(基于物理的渲染,Physics-Based Rendering)技术的专业书籍,对于学习和掌握PBR材质系统具有极高的价值。PBR是现代3D图形学中的重要概念,它通过模拟真实...

    *MAT_Concrete_Damage_Rel3参数

    #### 基础概述 *MAT_Concrete_Damage_Rel3 是 LS-DYNA 中用于模拟混凝土材料在动态载荷作用下的损伤行为的一种材料模型。此模型考虑了混凝土在不同应力状态下的损伤演化机制,并能够较好地模拟裂纹的发展与扩展过程...

    EP-DCXX84_V1 Experion Control Builder Components Theory Vol 1 of 2.pdf

    根据提供的文档信息,本文将对《EP-DCXX84_V1 Experion Control Builder Components Theory Vol 1 of 2》这一文档所涉及的核心知识点进行详细的解析与介绍。该文档主要介绍了Honeywell Experion Control Builder软件...

    SBC-210 的PDF文档

    - **4-5:** DC_IN Power #### 十六、USB 2.0 头 (USB 2.0 Headers) - **位置编号:**4 - **功能:** - 提供多个USB 2.0接口,支持高速数据传输。 - **信号定义:** - USB0_1, USB2_3, USB4_5 #### 十七、...

    FIX Procotol

    - **FIX-5.0_VOL-5.pdf** 和 **FIX-5.0_VOL-6.pdf** 可能进一步讨论了FIX协议的扩展和定制,以及与其它系统的集成。 - **FIX-5.0_VOL-7.pdf** 可能涵盖了错误处理、测试和协议实施的最佳实践。 - **FIX-50-release-...

    TriCore Core Architecture 32-bit Unifi_V1.3_vol1.pdf

    《TriCore核心架构32位Unifi_V1.3_vol1.pdf》是Infineon Technologies AG发布的一份关于TriCore内核的详细技术手册,主要针对V1.3及V1.3.1架构进行了深入阐述。这本书籍是理解TriCore处理器核心操作的关键资源,对于...

Global site tag (gtag.js) - Google Analytics