E-SQL

E-SQL

1.学会用嵌入式SQL对数据库进行增、删、改、查操作。

2.多行查询使用游标和STATE

3.SQL事物操作

4. 集群和模式

 

 

1:以SQL嵌入C语言为例说明实现嵌入式SQL的方法

1.1声明:通信的变量就是SQL与C语言进行数据传递

 C语言和SQL语言之间是通过共享变量来进行数据的传送。

     (1)EXEC SQL BEGIN DECLARE SECTION;

            char name[20];

            Int   age;

            char  sex[4];

        EXEC SQL END DECLARE SECTION;

(2)声明使用共享变量

   嵌入式SQL在执行的时候需要在前面添加EXEC SQL

   插入语句:inset into table_name(,,,)values(:xx,:ss)

插入语句的格式为:

     EXEC SQL INSERT

     INTO Student (id,  name)

     VALUES (:s_id, :s_name);  :后面的变量需要在开始的时候进行声明。

 

1.2、执行SQL

     插入语句:

     插入语句的格式为:

     EXEC SQL INSERT

     INTO Student (StudentNo,   StudentName)

     VALUES (:sno, :sname);

 

   修改语句:

   修改语句的格式为:

   update table_name set age = 12 where Id = 12

   EXEC SQL UPDATE Student

  SET(name=:s_name, age=:s_age)  WHERE id=:s_id;

 

  删除语句:

  删除语句的格式为:

  delete from table_name where id = s_id

  EXEC SQL DELETE

  FROM student

  WHERE id= ( select id FROM Student  WHERE name=:s_name );

 

  查询语句:

     当查询的结果只有一个元组时,

     EXEC SQL

     SELECT status,date INTO :qstatus,:qdate

     FROM Student  WHERE id=:s_id;

 

2:游标的使用

  (1)  查询多个数据的时候需要使用游标进行查询

  (2)  经常配合循环使用来获取多个数据

2.1:游标的声明:

  EXEC SQL DECLARE <游标名> CURSOR FOR

  SELECT …FROM…WHERE…;

  示例:ECEX SQL DECLARE RC_QRY  CURSOR FOR SELECT

  l  From STUDENT WHERE ID =:s_id

2.2:打开游标

  在打开游标时,执行与游标相联系的SQL查询语句。此时游标处于打开状态,游标指向第一个元组之前。

  EXEC SQL OPEN <游标名>

2.3移动游标

  EXEC SQL FETCH <游标名> INTO <变量表> 移动赋值给共享变量

2.4关闭游标

  EXEC SQL CLOSE <游标名>;

 

3:   SQL中的事务

    数据库操作的某些组合需要以原子的方式完成,也就是说,它们或者都做,或者都不做。

   一个通常的解决方式是让对数据库的所有改变在本地的工作区完成,并且只有当所有的工作完成以后才把这种改变提交给数据库。

   例如:银行转账 A卡转B卡 A卡扣钱后同时要更新B卡的数量当且两个数据都更新成功之后才能提交数据。这就是事务,只是例子实际也许不这么操作。

   EXEC SQL ROLLBACK; //数据失败

   EXEC SQL COMMIT ; //数据提交

4: SQL集群

    模式(Schema):是指数据库模式,而不是关系模式,是表、视图、域等数据库元素的聚集。模式是整个体系结构的基本单位。

  Create table st.trichsuvn //表示在st这个模式下创建trichsuvn这个表.

    创建模式:CREATE SCHEMA StudentSchema

    切换模式:     SET SCHEMA StudentSchema;

    目录(Catalog):是模式的聚集,即每个目录都有一个或多个模式。在一个目录中模式的名字必须是唯一的。

在目录中建立模式类似于在模式中建立表或视图之类的模式元素。可以设想用如下语句建立学生目录:

    CREATE CATALOG StudentCatalog

    SET CATALOG StudentCatalog;

    群集(Cluster):是目录的聚集。每个用户都有相关的群集,也就是该用户可以访问的所有目录的集合。群集是数据库可以操作的最大范围,因此,对于特定的用户,群集就是“数据库”。

转载于:https://www.cnblogs.com/love-life-insist/p/11360873.html

第六章 嵌入式SQL(E-SQL)简介 3 第一节 什么是嵌入SQL语言? 3 1.1 嵌入SQL程序的组成元素 3 1.2 什么是静态SQL和动态SQL? 4 1.3 什么是SQLCA? 4 1.4 什么是SQLDA? 5 第二节 SYBASE SQL SERVER嵌入式SQL语言 5 2.1 一个嵌入SQL语言的简单例子 5 2.2 嵌入SQL的处理过程 6 2.3 嵌入SQL语句总览 7 2.3.1 宿主变量 7 2.3.2 连接数据库 12 2.3.3 数据的查询和修改 13 2.3.4 游标的使用 14 2.3.5 SQLCA 15 2.3.6 WHENEVER 17 2.3.7 批处理 18 2.3.8 事务 18 2.4动态SQL语句 19 2.4 .1 动态修改 19 2.4.2 动态游标 21 2.4.3 SQLDA 23 2.4.4 DESCRIBE语句 27 2.5 两个例子程序 27 2.5.1 TELECOM程序 27 2.5.2 ADHOC程序 29 第三节 IBM DB2嵌入SQL语言 35 3.1 一个简单示例 35 3.2 嵌入SQL语句 37 3.2.1宿主变量 37 3.2.2单行查询 39 3.2.3多行查询 39 3.2.4插入、删除和修改操作 40 3.2.5 SQLCA 44 3.2.6事务 46 3.3 DB2的嵌入SQL程序处理过程 46 3.4 DB2的动态SQL嵌入语句 53 3.4.1 基本方法 53 3.4.2 动态游标 55 3.4.3 SQLDA 55 第四节 ORACLE数据库的嵌入SQL语言 66 4.1 基本的SQL语句 66 4.1.1宿主变量和指示符 66 4.1.2 查询 68 4.1.3 修改数据 68 4.1.4 游标 68 4.2 嵌入PL/SQL 71 4.3 动态SQL语句 72 4.3.1 ORACLE动态SQL语句的一些特点 72 4.3.2 使用动态SQL的四种方法 72 4.3.3 SQLDA 75 第五节INFORMIX的嵌入SQL/C语言 89 5.1 一个简单的入门例子 89 5.2 宿主变量 91 5.3 嵌入SQL的处理过程 96 5.4 动态SQL语言 96 5.4.1 SQLDA 97 第六节MICROSOFT SQL SERVER7嵌入式SQL语言 105 6.1 一个嵌入SQL语言的简单例子 105 6.2 嵌入SQL的处理过程 106 6.3 嵌入SQL语句 112 6.3.1 声明嵌入SQL语句中使用的C变量 112 6.3.2 连接数据库 115 6.3.3 数据的查询和修改 115 6.3.4 游标的使用 116 6.3.5 SQLCA 117 6.3.6 WHENEVER 118 6.4动态SQL语句 119 6.4 .1 动态修改 119 6.4.2 动态游标 120 6.4.3 SQLDA 122 6.4.4 DESCRIBE语句 130 6.5 API 130
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值