zoukankan      html  css  js  c++  java
  • 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):是目录的聚集。每个用户都有相关的群集,也就是该用户可以访问的所有目录的集合。群集是数据库可以操作的最大范围,因此,对于特定的用户,群集就是“数据库”。

  • 相关阅读:
    form编码方式application/x-www-form-urlencoded和multipart/form-data的区别
    CentOS开启telnet服务
    借助英语搞清会计中“借”/“贷”的含义(转载)
    乘法器的Verilog HDL实现(转载)
    Meth | 关闭mac自带apache的启动
    Meth | Git冲突:commit your changes or stash them before you can merge. 解决办法
    Meth | Git 避免重复输入用户名和密码方法
    Meth | git Please move or remove them before you can merge
    Meth | git 常用命令
    Meth | 小团队git开发模式
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/11360873.html
Copyright © 2011-2022 走看看