《高性能的数据库》四

《高性能的数据库》四

ID:22362848

大小:84.00 KB

页数:14页

时间:2018-10-28

《高性能的数据库》四_第1页
《高性能的数据库》四_第2页
《高性能的数据库》四_第3页
《高性能的数据库》四_第4页
《高性能的数据库》四_第5页
资源描述:

《《高性能的数据库》四》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《高性能的数据库》四>>教育资源库  第四讲编程细节  触发器  游标  函数  存储过程  事务  1、触发器。  定义:何为触发器?在SQLServer里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。  常见的触发器有三种:分别应用于Insert,Update,Delete事件。(SQLServer2000定义了新的触发器,这里不提)  我为什么要使用触发器?比如,这么两个表:CreateTableStudent(--学生表StudentIDintprimarykey,--学号....

2、)CreateTableBorroe,--借出时间ReturnDAteDatetime,--归还时间...)  用到的功能有:  1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号);  2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。  等等。  这时候可以用到触发器。对于1,创建一个Update触发器:CreateTriggertruStudentOnStudentforUpdate  ----------------------------------------

3、---------------  --Name:truStudent  --func:更新Borro  --Memo:临时写写的,给大家作个Sample。没有调试阿。  -------------------------------------------------------AsifUpdate(StudentID)beginUpdateBorroBorroe:trdStudent  --func:同时删除Borro  --Memo:临时写写的,给大家作个Sample。没有调试阿。  ------------------------

4、-------------------------------AsDeleteBorroBorroandText:='Select*FromStudentorderbyStudentID';adoDataSet1.Open;e('StudentID').AsInteger;DoSomeThing();....adoDataSet1.Next;End  在SQLServer并没有很好的数据逐条访问机制,如果有,那就是游标。  还是举例子:  对于表CreateTableBorrowRecord(--学生借书

5、记录表BorrowRecordintidentity(1,1),--流水号StudentIDint,--1234下一页>>>>这篇文章来自..,。学号StudentFeeIDint,--费用结算号(外键)Borroe,--借出时间ReturnDAteDatetime,--归还时间FeeMoney--借书费用...)CreateTableStudentFee(--学生费用结算表StudentFeeIDintprimarykey,--费用结算号(主键)StudentIDint,--学号Borroe:一部分代码  --func:更新学生借书总

6、费用  --Use:  --User:  --Memo:临时写写的,给大家作个Sample。没有调试阿。  -------------------------------------------------------  --声明一个游标DeclarecurStudentFeeCursorforSelectStudentFeeIDFromStudentFee  --声明两个费用变量DeclaremBorroBorrocurStudentFeeIntoiStudentFeeID  Borro(BorroBorroBorrocurStude

7、ntFeeIntomFeeend  --关闭游标  ClosecurStudentFee  --释放游标  DeallocatecurStudentFee  关注游标的要点:1、声明、打开、关闭、释放;2、Fetch_Status游标提取状态标志,0表示正确  这里,我也要提到,我不鼓励使用游标。更多的情况下,在SQL2000里面,函数已经能够实现绝大部分游标的功能。  3、函数。  函数是SQL2000的新功能。一般的编程语言都有函数,我就不用解释函数是什么东东了。:)  或许不少朋友会问:我用存储过程不就可以了么,我为什么要使用函数

8、?  这里特别指出的一点:fn可以嵌套在Select语句中使用,而sp不可以。  这里不打算大批特批一番游标了,当然,在我的程序里面,基本抛弃了游标(这里特别说明,是基本!因为还是有很多地方费用导游表不可的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。