摘要: 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码量…… 从游标对数据库的读取方式来说,不难看出游标为什么占用更多的资源,打个比方: 当你从ATM取钱的时候,是一次取1000效率更高呢,还是取10次100?既然游标这么“邪恶”,为什么还要学习游... 阅读全文
posted @ 2013-12-20 11:16 甜菜波波 阅读(203) 评论(0) 推荐(0) 编辑
摘要: INSERT:表1(ID,NAME)表2(ID,NAME)当用户插入表1数据后,表2也被插入相同的数据CREATETRIGGERTRI1ON表1FORINSERTASBEGININSERTINTO表2SELECT*FROMINSERTEDENDGODELETE:表1(ID,NAME)表2(ID,AGE,GENDER)当用户删除表1某条ID的数据后,表2相应ID的数据也被删除CREATETRIGGERTRI2ON表1FORDELETEASBEGINDECLARE@idINTSELECT@idFROMDELETEDDELETE表2WHEREID=@idENDGOUPDATE:表1(ID,NAME) 阅读全文
posted @ 2013-12-20 10:41 甜菜波波 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 学习事务后有些心得分享,以财务转账为例子:一、用存储过程的方式实现事务打开MSSQL,执行以下代码:create database aaaa ---创建数据库--------------------use aaaacreate tablebb----创建表( ID int not null primary key, --帐号 moneysmoney--转账金额 )-------------------- insert into bb values ('1','2000')--插入两条数据 insert into bb values ('2',&# 阅读全文
posted @ 2013-12-20 09:38 甜菜波波 阅读(287) 评论(0) 推荐(0) 编辑