数据库—存储过程

存储过程概述:

什么是存储过程?

是一组为了完成特定功能的SQL语句集。经过编译存储在数据库中。 存储过程包括程序流,逻辑以及对数据库的查询。可以接受参数,输出参数,返回单个或多个结果集以及返回值

为什么使用存储过程?

存储过程种类:

  • 用户自定义存储过程
  • 系统存储过程
  • 扩展存储过程

创建存储过程:

语法格式:

Create proc[edure]procedure_name[;number]

[{@parameter data_type}

[VARYING][=DEFAULT][OUTPUT][,…N]

[WITH

{RECOMPILE(不缓存执行计划)|ENCRYPTION(对文档进行加密)|RECOMPILE,ENCRYPTION}]

AS

Sql_statement[…n]

]

存储过程示例:

实现过程复杂的工程

修改存储示例:右键--修改命令(会有格式)

ALTER PROCEFUCE procedure_name[;number](修改存储过程名称)

[{@parameter data_type}

[VARYING][=default][output](参数列表)

[,…n]

[WITH

{RECOMPILE | ENCRYPTION |RECIMPILE,ENCRYPTION}](属性)

[FOR REPLICATION]

AS

Sql_atatement[,…n]

删除存储过程:

两种方式:

  • T-SQL

语法格式:DROP PROCEDURE{procedure}[,…n]

  • 命令菜单手动

点击存储过程-删除命令弹出删除对象窗口-删除

设计存储过程的规则:

1.可以引用在同一存储过程中创建的对象,只要引用时创建即可

2.在存储过程中引用临时表,在存储过程创建临时表,只为改存储过程存在,退出了存储过程,则临时表消失

3.在调用存储过程时,被调用的额存储过程课访问第一个存储过程的对象,包含临时表

4.不能回滚对执行远程MSQLSever2008进行更改的存储过程,不参与事务处理

5.参数最大数目为2100

6.局部变量的最大数目受内存限制

7.存储过最大为128MB

注意事项:

不能包括的T-SQL语句

使用存储过程:

Exec sp_who sa

Exec sp_helpdb +数据库 如果不加就会加载出所有的

Exec sp_monitor 会显示统计信息

临时存储过程:

和创建临时表一样

#本地临时

##全局临时

嵌套存储过程:(最多嵌套32层)

Create proc get_classinfo

As

Select * from 班级信息

Exec get_student '男'

查看存储过程:

Exec sp_helptext + 名称

猜你喜欢

转载自blog.csdn.net/TGB_Tom/article/details/103878565