存储过程的创建及其优缺点.docx_第1页
存储过程的创建及其优缺点.docx_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

首先介绍一下概念,存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,是利用SQL Server所提供的Transact-SQL语言所编写的程序。经编译后存储在数据库中。他可以接收参数,可以返回参数的,当然也可以没有参数。个人理解,他和程序中的函数差不多,只不过他是在数据库中创建的。 存储过程分为系统存储过程和自定义存储过程 存储过程的优点: 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 这也是我愿意使用它的一个重要原因。下面是一个带输入参数的一个存储过程 use LineManager gocreateproc ProcRegistCardNo varchar(10),StuNo varchar(11),Sex varchar(10),Grade varchar(10),ClassNo varchar(10),ChargeFee varchar(10),Name varchar(10),Department varchar(10),Explain varchar(50),UserName varchar(10),OperateDate date -输入参数asbeginbegin transactioninsert into Student(StudentNo ,Name ,Sex ,Department ,Grade ,ClassNo ) values (StuNo ,Name ,Sex ,Department ,Grade ,ClassNo )insert into Regist (CardNo ,StudentNo ,State ,Explain ,UserName ,OperateDate ) values(CardNo ,StuNo ,使用 ,Explain,UserName ,OperateDate )insert into Charge (CardNo ,ChargeDateTime ,Charge ,UserName ,LastBalance ,CurrentBalance ,OrderState ,PrintState )values (CardNo ,OperateDate ,ChargeFee ,UserName ,0,ChargeFee ,未结账,未打印)if ERROR =0commit transactionelserollback transaction -将对表的一系列操作放到事务中,这样,如果,在对表的操作发生错误 时,可以回滚到发生错误之前,保证表的一致性endgo -批处理语句要有头有尾,否则调用是不会出结果的。-执行此存储过程execute ProcRegist 00,11,女,08信本,1,30,艳梅,数信,尝试一下,yanmei,2011/3/21excecute关键字 ,后面是此存储过程中你定义的参数。 3.存储过程可以重复使用,可减少数据库开发人员的工作量 4.安全性高,可设定只有某些用户才具有对指定存储过程的使用权存储过程的缺点: 1:调试麻烦,但是用 PL/SQL Developer 调试很方便!弥补这个缺点。 2:移植问题,数据库端代码当然是与数据库相关的。但是如果是做工程型项目,基本不存在移植问题。 3:重新编译问题,因为后端代码是运行前编译的,如果带有引用关系的对象发生改变时,受影响的存储过程、包将需要重新编译(不过也可以设置成运行时刻自动编译)。 4: 如果在一个程序系统中大量的使用存储过程,到程序交付使用的时候随着用户需求的增加会导致数据结构的变化,接着就是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论