美文网首页
part7. 事务处理维护DB完整性|游标的使用

part7. 事务处理维护DB完整性|游标的使用

作者: katelin | 来源:发表于2019-01-05 18:18 被阅读0次

第20课 管理事务处理

why?
确保成批的SQL操作要么完全执行,要么完全不执行,来维护数据库的完整性。
what?

事务:指一组SQL语句
回退:指撤销指定的SQL语句的过程
提交:指将未存储的SQL语句结果写入数据库表
保留点:指事务处理中设置的临时占位符,可以对它发布回退
事务处理可以用来管理INSERT、UPDATE、DELETE语句,不能回退SELECT、CREATE、或DROP

how?

SQL Server:

BEGIN TRANSACTION
...
COMMIT TRANSACTION

MySQL:

START TRANSACTION
...

Oracle:

SET TRANSACTION
  1. ROLLBACK
DELETE FROM Orders;
ROLLBACK;
  1. COMMIT
    隐式提交:一般的SQL语句都是针对数据库表直接执行和编写的,这就是所谓的隐式提交,即提交操作是自动进行的。
    在事务处理块中,显示提交COMMIT。
  2. 使用保留点
    MySQL/Oracle:
#创建占位符
SAVEPOINT delete1;
...
# 回退
ROLLBACK TO delete1;

SQL Server:

# 创建保留点
SAVE TRANSACTION delete1;
...
# 回退
ROLLBACK TRANSACTION delete1;
BEGIN TRANSACTION
...
SAVE TRANSACTION StartOrder;
...
# 如果@@ERROR返回一个非0值,表示有错误发生,事务回退到保留点
IF @@ERROR <> 0 ROLLBACK TRANSACTION StartOrder;
...
IF @@ERROR <> 0 ROLLBACK TRANSACTION StartOrder;
COMMIT TRANSACTION

第21课 使用游标

what?why?
游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。

how?
创建:

DECLARE CustCursor CURSOR
FOR
SELECT * FROM Customers
WHERE cust_email IS NULL;

使用:

OPEN CURSOR CustCursor

用FETCH语句访问游标数据,FETCH指出要检索哪些行,从何处检索它们以及将他们放于何处(如变量名)

DECLARE @cust_id CHAR(10),
        @cust_name CHAR(50)
OPEN CustCursor
FETCH NEXT FROM CustCursor
    INTO @cust_id, @cust_name
WHILE @@FETCH_STATUS=0
BEGIN
FETCH NEXT FROM CustCursor
      INTO @cust_id, @cust_name
...
END
CLOSE CustCursor

关闭:

CLOSE CustCursor
DEALLOCATE CURSOR CustCursor

相关文章

  • part7. 事务处理维护DB完整性|游标的使用

    第20课 管理事务处理 why?确保成批的SQL操作要么完全执行,要么完全不执行,来维护数据库的完整性。what?...

  • MySql 管理事务处理

    事务处理(transaction processing)可以用来维护数据库的完整性,它保证成批的MySQL操作要么...

  • mysql事务

    在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 事务处理可以用来维护数据库的完整性...

  • mysql必知必会(26):事务

    一、事务 注意:InnoDB引擎支持事物,MyISAM引擎不支持事务。 事务处理:维护数据库的完整性,保证成批的M...

  • 数据库 - 事物管理

    事物管理 事务 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行 事务用来...

  • mysql事务

    事务 事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部步执行一般来说,事务是必须满足...

  • 第八讲 SQL语言与数据库的完整性和安全性

    完整性 数据库的完整性(DB Integrity): 是指DBMS应保证DB的一种特性 -- 在任何情况下的正确性...

  • 关于 tp5 事务操作总结

    前提: 使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用...

  • Golang Gorm 事务极简封装

    // 事务处理 使用

  • tp6进行事务操作

    使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 Inn...

网友评论

      本文标题:part7. 事务处理维护DB完整性|游标的使用

      本文链接:https://www.haomeiwen.com/subject/vrllrqtx.html