【SQL】存储过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guhaozhang/article/details/81841941

前言

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集

区别

触发器与存储过程的唯一区别是触发器不能执行EXECUTE语句调用,而是在用户执行Transact-SQL语句时自动触发执行

作用

  • 执行速度更快—因为存储过程是预编译过的
  • 模块化程序设计—类似方法的复用
  • 提高系统的安全性—防止SQL注入
  • 减少网络流量—只需传输存储过程的名称即可

分类

  • 系统存储过程
    以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作
  • 用户自定义存储过程
    用户创建的存储过程是由用户创建并完成某一特定功能的存储过程

应用

  • 创建语句
    CREATE PROC sp_name(<—这里是你想好的存储过程的名字
    @[参数名] [类型],@[参数名] [类型]
    as
    begin
    ………
    end
  • 调用存储过程
    基本语法:exec sp_name [参数名]
  • 示例
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      谷浩樟
-- Create date: 2018-08-19
-- Description: 增加新闻
-- =============================================
CREATE PROCEDURE [dbo].[news_insert]
    @title varchar(100),
    @content text,
    @caid int 
AS
BEGIN
INSERT INTO news(title,[content],caId)
VALUES(@title,@content,@caid)
END

总结

存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用。 所以广义上来说, 只要是被存储在数据库,可供外部直接调用以修改数据的子程序(包括函数和过程)都可以被看做是存储过程。

猜你喜欢

转载自blog.csdn.net/guhaozhang/article/details/81841941
今日推荐