欢迎来到天天文库
浏览记录
ID:37711778
大小:19.38 KB
页数:6页
时间:2019-05-29
《SQL Server 存储过程详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SQLServer存储过程详解◆优点: 执行速度更快。存储过程只在创造时进行编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程执行速度更快。 存储过程用于处理复杂的操作时,程序的可读性更强、网络的负担更小。 使用存储过程封装事务性能更佳。 能有效的放注入,安全性更好。 可维护性高,在一些业务规则发生变化时,有时只需调整存储过程即可,而不用改动和重编辑程序。 更好的代码重用。 ◆缺点: 存储过程将给服务器带来额外的压力。 存储过程多多时维护比较困难。 移植性差,在升级到不同的数据库时比较困难。 调试麻烦,SQL语言的处理功能简单。
2、 总之复杂的操作或需要事务操作的SQL建议使用存储过程,而参数多且操作简单SQL语句不建议使用存储过程。存储过程定义 存储过程是一组Transact-SQL语句,它们只需编译一次,以后即可多次执行。因为Transact-SQL语句不需要重新编译,所以执行存储过程可以提高性能。 触发器是一种特殊的存储过程,不由用户直接调用。创建触发器时,将其定义为在对特定表或列进行特定类型的数据修改时激发。存储过程的设计规则 CREATEPROCEDURE定义自身可以包括任意数量和类型的SQL语句,但以下语句除外。 不能在存储过程的任何位置使用这些语句。 CREATEA
3、GGREGATE、CREATERULE、CREATEDEFAULT、CREATESCHEMA、CREATE或ALTERFUNCTION、CREATE或ALTERTRIGGER、CREATE或ALTERPROCEDURE、CREATE 或ALTERVIEW、SETPARSEONLY、SETSHOWPLAN_ALL、SETSHOWPLAN_TEXT、SETSHOWPLAN_XML、USEdatabase_name 其他数据库对象均可在存储过程中创建。可以引用在同一存储过程中创建的对象,只要引用时已经创建了该对象即可。 可以在存储过程内引用临时表。 如果在存储
4、过程内创建本地临时表,则临时表仅为该存储过程而存在;退出该存储过程后,临时表将消失。 如果执行的存储过程将调用另一个存储过程,则被调用的存储过程可以访问由第一个存储过程创建的所有对象,包括临时表在内。 如果执行对远程MicrosoftSQLServer2005实例进行更改的远程存储过程,则不能回滚这些更改。远程存储过程不参与事务处理。 存储过程中的参数的最大数目为2100。 存储过程中的局部变量的最大数目仅受可用内存的限制。 根据可用内存的不同,存储过程最大可达128MB实现存储过程CREATE{PROC
5、PROCEDURE}[schema_name.
6、]procedure_name[;number] [{@parameter[type_schema_name.]data_type}[VARYING][=default][[OUT[PUT]]--名称、类型、默认值、方向 [,...n] [WITH[,...n] [FORREPLICATION] AS {[;][...n]
7、}--SQL语句 [;
8、] ::= [ENCRYPTION] [RECOMPILE]--运行时编译 [EXECUTE_AS_Clause] ::={[BEGIN]statements[END]} ::=EXTERNALNAMEassembly_name.class_name.method_name执行存储过程 使用Transact-SQLEXECUTE语句。如果存储过程是批处理
9、中的第一条语句,那么不使用EXECUTE关键字也可以执行存储过程 使用sp_procoption让SQLSERVER自动执行存储过程 sp_procoption[@ProcName=]'procedure',[@OptionName=]'option' ,[@OptionValue=]'value'--过程的名称、option的唯一值为startup、设置为开启(true或on)还是关闭(false或off)。用TSQL语句编写存储过程一、变量和参数 DECLARE语句通过以下操作初始化Transact-SQL变量:
10、 指定名称
此文档下载收益归作者所有