SQL Server——存储过程

存储,大家立马想起的是我们周围遇到的存错的各种物品的仓库等,即存储过程就是如何将物品存储到仓库中。这是我们生活中的存储过程,然而在数据库中,存储过程属于一种对象,是一种高效的安全的访问数据库的方法。好,下边我们就数据库中的存储过程总结它的相关知识点。我们分为概述,实现和管理三个方面来总结。

一,存储过程的概述:

1,概念:存储过程(StoredProcedure)是在数据库服务器端执行的一组T-SQL语句的集合,经编译后存放在数据库服务器中。它能够向用户返回数据,向数据库中写入或修改数据,还可执行系统函数和管理操作。

2,优点:a,执行速度快:

b,模块化程序设计

c,减少网络通讯量

d,保证系统的安全性

e,实现代码的重复使用

3,分类:a,用户存储过程

b,系统存储过程

c,扩展存储过程:是以在SQL Server环境外执行的动态链接库(DLL,Dynamic-Link Librar-ies)来实现。通过前缀“xp_”来标识。

在这里的操作都可以通过Micosoft SQL Server Management Studio来实现增删改查,操作步骤几乎相同,我就不在这里写出,大家哪一个例子好好练习练习就可以。下边的讲述都是针对T-SQL来实现一些功能的总结。

二,实现存储过程:

1,创建(利用createprocedure):

a,简单的存储过程:

createproc[edure] procedure_name [;number]

[{@parameter data_type}

[varying][=default][output][,n……]]

[with

{recompile| encryption |encompile,encryption}]

[for replication ]

as sql_statement[……n]

参数说明:1,procedure_name新存储过程的名称;2,number,是可选的整数用来对同名的过程进

行分组;3,@parameter过程中的参数;4,data_type参数的数据类型;5,varying指

定作为输出参数支持的结果集,仅适用于游标参数;6,default参数的默认值;

7,output参数的默认值;8,recompile表示SQLServer不会缓存该计划,该过程将在

运行时重新编译。9,as,制定过程要执行的操作;10,SQL_statament,T-sql语句。

b,带参数的存储过程:在进行创建时,需要我们在过程中定义我们需要 参数。

c,待返回值的:1,可以使用print打印语句来进行提2,或利用raiserror函数,来返回错误信息来提

示 3,还可以使用return语句从过程或查询中无条件的退出!

2,执行存储过程:

a,通过execute或exec语句执行,语法:

[exec[ute]] {[@return_status]=procedure_name[;number]|@procedure_name_var}

[[@parameter=]{value|@variable[output]|[default]}] [,n……]

[with recompile]

参数说明:1,@return_status,存储过程的返回状态,2,with recompile强制编译新的计划。

其他的跟创建中的意思相同。

三,管理存储过程:

1,查看:利用sp_helptext查看存储过程的文本信息,利用sp_depends查看存储过程的相关性,利用

sp_help查看存储过程的一般信息。

语法分别是:sp_helptext[@objname=]'name'(对象名称)

sp_depends[@objname=]'object'(被检查相关性的数据库对象)

sp_help[[@objname=]name]

2,修改:将创建中的create改为alter即为修改的语法。此不会改权限也不会改名称。

重命名:sp_rename可以改数据用户创建的对象(表,存储过程,触发器,列等)的名称;

语法:sp_rename[@objname=]'objext_name'

[@newname=]'new_name'

[,@objtype=]'object_type'

3,删除:利用drop procedure语句即可方便删除。

4,重新编译:

a,在创建存储过程时设定重新编译,在定义时指定with recompile即可

b,在执行存储过程时设定重新编译,在执行时指定with recompile即可

c,使用系统存储过程设定重新编译,sp_recompile[@objname=]'object'】

在这里存储过程让我想到了VB中的过程,函数,模块,感觉他们非常类似,作用也罢,别的也罢。很好的利用存储过程会使我们的程序变得非常简单易懂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值