存储过程的规则
▶可以引用在同一存储过程中创建的对象,只要引用时已经创建了该对象即可。
▶可以在存储过程内引用临时表(不想动基础表中的数据,从而将这些数据放在临时表中)。如果在存储过程内创建本地临时表,则临时表仅为该存储过程而存在;退出该存储过程后,临时表将消失。
▶如果执行的存储过程将调用另一个存储过程,则被调用的存储过程可以访问有第一个存储过程创建的所有对象,包括临时表在内。
▶如果执行对远程Microsoft SQL Server2008实例进行更改的远程储存过程,则不能回滚这些更改。远程存储过程不参与事务处理。
▶存储过程汇总的参数的最大数目为2100。
▶存储过程中的局部变量的最大数目仅受可用内存的限制。
▶根据可用内存的不同,存储过程最大可达128MB。
存储过程中不能包括的T-SQL语句(不能在存储过程中使用的语句)
CREATE AGGREGATE | 创建一个集合 |
CREATE RULE | 创建一个角色 |
CREATE DEFAULT | 创建一个默认值 |
CREATE SCHEMA | 创建一个架构 |
CREATE或者ALTER FUNCTION | 创建或修改一个函数 |
CREATE或者ALTER TRIGGER | 创建或修改一个触发器 |
CREATE或者ALTER PROCEDURE | 创建或修改一个子存储过程 |
CREATE或者ALTER VIEW | 创建和修改视图 |
SET PARSEONLY | 不能使用SET关键字设置存储过程参数 |
SET SHOWPLAN_ALL | |
SET SHOWPLAN_TEXT | |
SET SHOWPLAN_XML | |
USE Database_name | 不能使用这样的关键字切换数据库 |
临时存储过程
#临时局部存储过程,##临时全局存储过程
局部存储过程对当前的环境有效,全局存储过程对当前整个的连接有效
▲临时存储过程并不会更新到左侧的存储过程系统中!!!!
系统存储过程
▶sp_who 用sp_who系统存储过程可以查看登录名(账户)的内容
▶sp_helpdb 用sp_helpdb 系统存储过程可以查询出各数据库的所有信息
▶sp_monitor 用sp_monitor系统存储过程可以显示数据库的统计信息
查看存储过程
方法一:右击相关的存储过程-编写存储过程脚本为-CREATE到-新查询编辑器窗口
方法二:在新建查询窗口中,写入exec sp_helptext procedure_name代码--------sp_helptext语句