《数据库编程简介》PPT课件.ppt

上传人:tia****nde 文档编号:11508599 上传时间:2020-04-26 格式:PPT 页数:36 大小:310KB
返回 下载 相关 举报
《数据库编程简介》PPT课件.ppt_第1页
第1页 / 共36页
《数据库编程简介》PPT课件.ppt_第2页
第2页 / 共36页
《数据库编程简介》PPT课件.ppt_第3页
第3页 / 共36页
点击查看更多>>
资源描述
第八章数据库编程简介,2020年4月26日星期日,第2页,本章知识点,存储过程SQLSERVER2000编程ODBC编程嵌入式SQL,第3页,8.1存储过程,存储过程只是一个SQL语句组合,它们被编译在一起,能通过单个命令而被执行。存储过程能用于向用户返回数据、在表中插入新数据、修改数据、执行系统函数和管理任务。总之,它们是SQLServer中功能非常强大的一部分,它能使你的工作更轻松。存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。,第4页,一、存储过程的用途,存储过程的用途几乎是无限的。从返回SELECT语句的结果并用于用户报表到执行复杂的数据有效性校验,你可以用存储过程来做任何事。,第5页,【续】,模块化的程序设计在你创建了一个存储过程之后,它就会存储在数据库中并能通过你的应用程序多次调用它。这些过程能封装数据库功能,也能被应用程序代码独立地修改,只要应用程序总是知道被返回的数据将要做什么。安全性存储过程能作为一种安全性机制使用。当你授权许可一个用户或一组用户使用存储过程,他们将能够执行这个存储过程而不必有访问在存储过程中被访问的下层对象的许可。例如,如果你创建了一个存储过程,用于返回pubs数据库中authors表的所有行,然后许可一个名叫乔的人去执行那个存储过程,他就能从authors表中检索出所有行,而不必直接地授予他对authors表的访问许可。,第6页,二、创建存储过程,在能够在你的用户应用程序上实际使用一个存储过程之前,你必须创建一个存储过程。这个创建过程事实上是相当简单的。需要做的第一件事是写一个你将要在存储过程内部运行的查询。例如,如果你打算创建一个存储过程用于向用户返回复合SELECT语句的结果,首先要做的是编写和测试SELECT语句。在已经创建并测试了SELECT语句后,就能够用CREATEPROCEDURE语句实际创建这个存储过程。,第7页,例1:一个简单的存储过程及运行结果,创建一个名为usp_get_phone1的用户存储过程,使用一个名为last_name能够传送进存储过程的参数。我们就可以通过这个参数在authors表中找到他的电话号码。,createprocedureusp_get_author_phone1last_namevarchar(32)asselectau_lname+,+au_fnameasNAME,phoneasPHONEfromauthorswhereau_lname=last_nameorderbyNAMEasc,第8页,使用此存储过程:运行结果:,usp_get_author_phone1dull,第9页,例2:第二个存储过程,创建一个名为usp_get_phone2的用户存储过程,使用一个名为last_name能够传送进存储过程的参数。允许我们以姓的第一个字母查询作者姓名。,createprocedureusp_get_author_phone2last_namevarchar(32)asselectlast_name=last_name+%selectau_lname+,+au_fnameasNAME,phoneasPHONEfromauthorswhereau_lnamelikelast_nameorderbyNAMEasc,第10页,使用此存储过程:运行结果:,usp_get_author_phone2d,第11页,三、修改存储过程,ALTERPROCEDURE更改先前通过执行CREATEPROCEDURE语句创建的过程,但不会更改权限,也不影响相关的存储过程或触发器。sp_helptext显示规则、默认值、未加密的存储过程、用户定义函数、触发器或视图的文本;ALTERPROCEDURE,第12页,例3:创建存储过程并修改,1.创建一个向authors表里插入数据的存储过程。在这个存储过程中,我们要求用户提供作者的标识、名和姓。如果用户传递了另外的信息,会被插入到表中。如果用户没有传递任何其他信息,我们将通过在存储过程的参数中设置缺省值来处理。,第13页,3.修改我们前面创建的usp_insert_new_author存储过程,将CA作为缺省值插入到state列中。,2.利用sp_helptext,查看存储过程usp_insert_new_author的内容。,第14页,四、运行存储过程,可以通过在查询分析器的查询窗口键入存储过程名来执行。如果仅仅运行存储过程的话,这种方法是可取的。但是如果在批中用这种方法执行多个存储过程,就会出现问题,那么我们就必须使用EXECUTE语句。EXECUTE语句的语法如下:EXECUTE这里是你所要执行的存储过程的名称。,第15页,五、删除存储过程,DROPPROCEDURE,第16页,8.2SQLSERVER编程,本节的要点包括:注释变量流控制,第17页,一、注释,注释代码是一件非常重要的事情,这样可以保证你和别人在阅读这些代码时弄清它的意思。你应该在代码中放进注释,说明它用来做什么、使用什么参数、输出了什么。你还应该在代码发生变化时加以注释并说明原因。/*.*/这种注释符可用来注释一整块的程序,包括多个行。-这种注释符是用来注释单个行的,这可以用在每行的开头和结尾。当要在多行中使用时,你必须在每行的开头都放上-注释符。,第18页,二、变量,创建变量例:声明一个不超过64个字符的字符型变量author_name。,第19页,变量赋值SQLServer在变量创建时赋给变量NULL值。给一个变量赋值有两种方法,首选方法是用SET语句,另一种是用SELECT语句。,或,第20页,三、流控制,BEGIN.ENDBEGIN.END关键词对用来将一个SQL语句块组织在一起,以达一起执行的目的。IF.ELSE,第21页,判定有多少作者住在加州,或者是否有作者住在加州?,第22页,WHILEWHILE语句用于创建一个循环,SQLServer将在该循环中连续执行一个功能,直到循环条件为假。,第23页,第24页,几个存储过程的例子,第25页,几个存储过程的例子,第26页,几个存储过程的例子,第27页,几个存储过程的例子,第28页,函数,标量函数(1)创建标量函数的主要语法格式:createfunction所有者.自定义函数名(参数数据类型,n)returns返回参数的类型asbegin函数体return函数返回的值end(2)调用标量函数的语法:Printdbo.函数名(实参)或selectdbo.函数名(实参)(3)修改标量函数直接将create语句改为alter(4)删除标量函数的语法:Dropfunction函数名,第29页,createfunctionfun(aint,bint)returnsintasbegindeclarecintifabsetc=aelsesetc=breturncendprintdbo.fun(30,5),第30页,函数,内联表值函数(1)创建内联表值函数的语法:createfunction所有者.自定义函数名(参数,n)returnstableasreturn(select查询语句)(2)内联表值函数的调用:Select*fromdbo.函数名(参数)在调用函数的时候必须指明函数的拥有者和函数的名称。(3)修改内联表值函数的语句与创建语句区别:create-alter,第31页,createfunctiontsalary(salint)returnstableasreturn(select*fromteacherswheresalary=sal)select*fromtsalary(1000)orderbytid,第32页,例11利用存储过程来实现下面的应用:从一个账户转指定数额的款项到另一个账户中。,CREATEPROCEDURETRANSFER(inAccountINT,outAccountINT,amountFLOAT)ASDECLAREtotalDepositFLOAT;BEGIN/*检查转出账户的余额*/SELECTtotalINTOtotalDepositFROMACCOUNTWHEREACCOUNTNUM=outAccount;IFtotalDepositISNULLTHEN/*账户不存在或账户中没有存款*/ROLLBACK;RETURN;ENDIF;,第33页,IFtotalDepositamountTHEN/*账户账户存款不足*/ROLLBACK;RETURN;ENDIF;UPDATEaccountSETtotal=total-amountWHEREACCOUNTNUM=outAccount;/*修改转出账户,减去转出额*/UPDATEaccountSETtotal=total+amountWHEREACCOUNTNUM=inAccount;/*修改转入账户,增加转出额*/COMMIT;/*提交转账事务*/END;,第34页,8.3ODBC编程,开放式数据库连接(ODBC)(OpenDatabaseConnectivity(ODBC)一种数据访问应用程序接口(API),支持对可使用ODBC驱动程序的任何数据源的访问。ODBC与美国国家标准学会(ANSI)和国际标准化组织(ISO)的用于数据库调用级接口(CLI)的标准一致。ODBC优点:移植性好能同时访问不同的数据库共享多个数据资源,第35页,8.3.1数据库互连概述,ODBC产生的原因:由于不同的数据库管理系统的存在,在某个RDBMS下编写的应用程序就不能在另一个RDBMS下运行许多应用程序需要共享多个部门的数据资源,访问不同的RDBMSODBC:是微软公司开放服务体系(WindowsOpenServicesArchitecture,WOSA)中有关数据库的一个组成部分提供了一组访问数据库的标准APIODBC约束力:规范应用开发规范RDBMS应用接口,第36页,8.3.2ODBC工作原理概述,ODBC应用系统的体系结构:一、用户应用程序二、驱动程序管理器三、数据库驱动程序四、ODBC数据源管理,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!