博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
E-SQL
阅读量:5015 次
发布时间:2019-06-12

本文共 1984 字,大约阅读时间需要 6 分钟。

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

你可能感兴趣的文章
netcore2.1 在后台运行一个任务
查看>>
PostgreSQL pg_hba.conf 文件简析
查看>>
android o logcat read: unexpected EOF!
查看>>
[Scrum]2010/12/28 —— 第一天!
查看>>
ASP.NET MVC模式 温习(一)排除MVC模式误区
查看>>
Mysql的read_only 只读属性说明 (运维笔记)
查看>>
DOCKER 从入门到放弃(五)
查看>>
Python 多线程学习
查看>>
appcan官方ajax
查看>>
获取NVIDIA显卡的温度
查看>>
Dijkstra算法
查看>>
Deep Learning 9: Performance
查看>>
面试题61 把二叉树打印成多行
查看>>
C#例子 易懂故事 接口 委托 事件 异步通知 好玩.
查看>>
[转]Windows Shell 编程 第十一章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987992】...
查看>>
修改presto新版源码让他支持redash数据库
查看>>
Javascript的书写位置
查看>>
树-线索二叉树
查看>>
JAVA遇见HTML——Servlet篇:Servlet基础
查看>>
第二章 Vue快速入门--20 品牌案例-完成品牌列表的添加功能+ 21 品牌案例-根据Id完成品牌的删除...
查看>>