#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sqlca.h"//定义char [20]数组类型
typedef char ChararrType[20];//oracle外部变量类型string类似varchar2类型,是以\0结尾的字符串

EXEC SQL BEGIN DECLARE SECTION;char *serverid="scott/123456@orcl";EXEC SQL TYPE ChararrType is string(20);//将宿主变量类型转化成oracle外部变量类型,也可直接使用varchar2类型的宿主变量int ida1;int idb1;ChararrType name1;//这里的name1变量就是个数组变量short name1_ind;
EXEC SQL END DECLARE SECTION;//错误处理升级函数
void sqlerr()
{EXEC SQL WHENEVER SQLERROR CONTINUE;printf("err reason:%.*s\r\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);EXEC SQL ROLLBACK WORK RELEASE;
}void main()
{EXEC SQL WHENEVER SQLERROR DO sqlerr();EXEC SQL connect:serverid ;printf("connect ok!\r\n");//1.定义游标--为某一次查询定义游标
    EXEC SQL DECLARE c CURSOR FORselect ida,idb,name from t2;//2.打开游标
    EXEC SQL OPEN c;//3.提取数据 fetch into//跳出循环方法一//EXEC SQL WHENEVER NOT FOUND DO BREAK;while(1){EXEC SQL FETCH c INTO :ida1,:idb1,:name1:name1_ind;//跳出循环方法二if(sqlca.sqlcode==100||sqlca.sqlcode==1403){break;}if(name1_ind==-1){memset(name1,0,sizeof(name1));strcpy(name1,"null");}printf("ida=%d,idb=%d,name=%s\r\n",ida1,idb1,name1);}//4.关闭游标
    EXEC SQL CLOSE c;//提交断开连接
    EXEC SQL COMMIT RELEASE;system("pause");
}

转载于:https://www.cnblogs.com/zhanggaofeng/p/6282941.html

数据库 proc编程七相关推荐

  1. 创业编程七个错误认识

    导读:本文是从< What's Your Start-up's "Bus Count"? 7 Myths of Entrepreneurship and Programmin ...

  2. 【3-16】数据库基本编程语句,存储过程,触发器

    [3-16]数据库基本编程语句,存储过程,触发器 一基本编程语句 (1)定义变量  declare @变量名 数据类型 (2)赋值 set @变量名=值 select @变量名 =值 (3)取值打印 ...

  3. oracle proc编程 fetch,Oracle Proc编程性能优化经验

    Proc 是Oracle提供的一种数据库操做的AP.它是基于ESql技术的,须要预编译后才能够变成普通c代码,很是不直观,使用起来不太方便,阅读也存在困难.程序员 由于这些问题致使程序员平时开发中会出 ...

  4. oracle proc 定义宿主,oracle proc 编程基础及最小化案例

    oracle proc 编程是在我的概念中是非常陌生的,学习了一天下来发现这东西真的好古老,但是依然健壮.稳定,其中间是编辑一个 .pc 的文件使用 proc 进行预处理,预处理后生成一个真正的.c文 ...

  5. python界面设置-PYTHON图形化操作界面的编程七__创建菜单

    PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...

  6. python函数做菜单_PYTHON图形化操作界面的编程七__创建菜单

    PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...

  7. !!!. 数据库的编程(ADO) --- 三种sql语句执行的不同

    Description: 一. 数据库的编程(ADO)       要用ADO连接数据的头文件中加入    #import "c:\Program Files\Common Files\Sy ...

  8. 不为人知的网络编程(七):如何让不可靠的UDP变的可靠?

    为什么80%的码农都做不了架构师?>>>    本文内容来自学霸君资深架构师袁荣喜的技术分享. 1.前言 最近和很多实时音视频领域的朋友交流中都有谈论到 RUDP(Reliable ...

  9. Linux网络编程-七

    Linux网络编程-七 web服务器项目 1 web服务器开发准备 1.1 Html语言基础(和Markdown一个性质,某些程度上和Markdown通用,所以我在编辑的时候在<>里都加了 ...

最新文章

  1. Java HashMap和Hashtable的区别
  2. Flink SQL Client中的session window图解
  3. Access 时间比较错误
  4. python函数的嵌套调用_python函数的嵌套调用
  5. python中的switch语句_python技巧 switch case语句
  6. 七月算法机器学习 11 决策树、随机森林、 adaboost
  7. ubuntu修改静态IP地址
  8. dell r710重装系统_DELL R710系统安装指南10页
  9. APS计划排程和生产排产系统,包含哪些排程算法?
  10. 从发声机理到听觉感知认识声音的本质
  11. c语言正弦函数求导,正弦函数求导公式基本推导
  12. 天蝎项目整机柜服务器技术规格,天蝎工程项目整机柜服务器技术规范V1.01.pdf
  13. uniapp 下拉列表插件 lable问题
  14. 搭建大型分布式服务(二十五)如何将应用部署到TKE容器集群?
  15. 大数据仓库技术实训任务2
  16. 【STL模板】双端队列
  17. 【公开课】如何使用Arm-2D在小资源Cortex-M处理器芯片中实现图形界面?
  18. php715 configure
  19. wlan连接的笔记本电脑+开启移动热点+手机无法连接【已解决】
  20. 高质量网站哪里找?4个PPT自学网站告别高额培训费,看完受益一生

热门文章

  1. MyBatis动态SQL_多表查询_延迟加载_缓存
  2. 解决Error #15: Initializing libiomp5.dylib, but found libomp.dylib already initialized.
  3. LeetCode 865. 具有所有最深结点的最小子树(递归)
  4. LeetCode 78. 子集(回溯)
  5. 等价类测试与决策表测试
  6. 吴恩达入驻知乎,涨粉秒过万!知乎首答:如何系统学习机器学习
  7. Redis系列教程(三):如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
  8. BAT面试进阶:最全Memcached面试30题含答案
  9. 论文浅尝 - ACL2020 | 利用知识库嵌入改进多跳 KGQA
  10. 论文浅尝 | 采用多层注意力机制的事件检测