sql存储过程及视图创建实例及语法

sql存储过程及视图创建实例及语法

ID:20473919

大小:152.50 KB

页数:12页

时间:2018-10-11

sql存储过程及视图创建实例及语法_第1页
sql存储过程及视图创建实例及语法_第2页
sql存储过程及视图创建实例及语法_第3页
sql存储过程及视图创建实例及语法_第4页
sql存储过程及视图创建实例及语法_第5页
资源描述:

《sql存储过程及视图创建实例及语法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、SQLServer存储过程Transact-SQL屮的存储过租,非常类似于Java语言屮的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存屮,这样下次执行的时候直接使用缓存屮的语句。这样就可以提萵存储过程的性能。0办储过程的概念存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译话存储在数裾库屮,川户通过指定存储过程的名称并给出参数來执行。存储过程中可以包含逻机控制语句和数裾操纵语句,它可以接受参数、输出参数、返冋牮个或多个结果集以及返冋值。山于存储过程在创建时即在数据库服务器.h进行了编译并存

2、储在数据厍中,所以存储过程运行要比单个的SQL语句块耍快。同时屮于在调用时只需用提供存储过程名和必耍的参数位息,所以在一定程度上也以减少M络流墩、简单M络负担。1、存储过程的优点A、存储过程允许标准飢件式编程存储过程创建后可以在程序中被多次调用执行,而不必朮新编写该存储过程的SQL语句。而且数据库专业人员可以随吋对存储过程进行修改,但对应用程序源代码却亳无影响,从而极人的提商了程序的可移梢性。B、存储过稈能够实现较快的执行速度如果某一操作乜含大量的T-SQL语句代码,分别被多次执行,那么存储过程要比批处理的执行速度快得多。因

3、为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对典进行分析、优化,并给出坡终被存在系统表中的存储计划。而批处理的T-SQL语句毎次运行都需耍预编译和优化,所以速度就要慢-些=C、存储过程减轻网络流跫对于同一个针对数据库对象的操作,如采这一揀作所涉及到的T-SQL语句被组织成•存储过程,那么当在客户机卜.调用该存储过程时,网络中传递的只足该调用语句,否则将会足多条SQL语句。从而减轮了网络流泉,降低了网络负载。D、存储过程可被作为•-•种安全机制来充分利用系统管理w可以对执行的某•个存储过程进行权限限制,从而能够实

4、现对某些数据访问的限制,避免非授权用户对数据的汸问,保证数据的安全。0系统存储过程系统存储过程•足系统创迷的存储过程,H的在于能够方便的从系统表中査洵信息或完成与更新数据痄表和关的矜理任务或其他的系统管理任务。系统存储过程主耍存储在master数据库中,以“sp”下划线开头的存储过程。尽管这些系统存储过程在master数裾库屮,但我们在其他数裾库还是M•以调用系统存储过程。宵一些系统存储过程会花创逑新的数据库的时候被自动创迚在当前数据痄中。常用系统存储过程有:execsp_databases;--查看数掘库execsp_ta

5、bles;--色看表execsp_columnsstudent;--查看夕!Jexecsp_helplndexstudent;--杏看索弓Iexecsp_helpConstraintstudent;--约束execsp_stored_procedures;execsp_helptext1sp_stored_procedures*;--查看存储过程创建、记义语句execsp_renamestudent,stulnfo;--修改表、索弓I、歹!J的名称execsp_renamedbmyTempDB,myDB;--更改数据库名称e

6、xecsp_defaultdb’master1,’myDB’;--改登录名的默认数捕牟execsp_helpdb;--数据库精助,査询数掘库信息execsp_helpdbmaster;系统存储过程示例:--表重命名execsp_rename1stu1,’stud’;select★fromstud;--列重命名execsp_rename1stud.name1,1sName1,1column1;execsp_help1stud1;--重命名索引execsp一renameN1student.idx_cid1,N1idx_cidd1

7、,N1index1;execsp_help1student1;--查询所有存储过程select*fromsys.objectswheretype=1P1;select*fromsys.objectswheretype_desclikef%pro%fandnamelikefsp%1;0川户U定义存储过程1、创建语法createproc

8、procedurepro—name[{@参数数据类型}[=默认值][output],参数数裾类型}[=默认值][output],<<•<]asSQL_statements2、创建不带参数存储过程

9、—创建存储过程if(exists(select*fromsys.objectswherename=1proc_get_student1))dropprocproc一get一studentgocreateprocproc_get_studentselect*fromstudent;--调用、

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

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

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