存储过程的优点:
- 提高运行速度。这是因为SQL语句大部分准备工作已经完成大大减少了时间。
- 增强了SQL的功能和灵活性。存储过程本身有很强的灵活性,能完成复杂的逻辑判断和复制的运算。
- 可以降低网络的通讯量。
- 减轻了程序编写的工作量,存储过程可以反复调用,并可供其他前端应用程序共享应用逻辑。
- 实现安全控制功能。
存储过程的种类:
- 系统存储过程
- 用户自定义存储过程
- 扩展存储过程
存储过程的格式:
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName>
-- Add the parameters for the stored procedure here
<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
END
GO
存储过程是编译好的SQL语句,而SQL语句如果写在代码中,需要及时编译,然后才能运行,是在运行时编译的,这就增加了时间,也增加了客户端和服务器之间的网络流量。
不使用存储过程客户端和服务器端的通讯次数:
使用存储过程客户端和服务器通讯次数:
使用存储过程后客户端和服务器之间的通讯次数就会减少,服务器只传回一个执行成功与否的参数就可以。
什么情况下使用存储过程?
- 对数据库进行复杂操作时;
- 需要优化,提高软件运行速度时;
- 当对软件的安全性要求比较高时;
编译好的存储过程可以让很多人重复使用,何乐而不为!
时间: 2024-12-16 05:18:08