SQL Server 存储过程入门

1.存储过程的定义:

存储过程是一组预编译的SQL语句和控制流程的代码块,它们被存储在数据库中,并可以在需要时被调用执行。存储过程通常用于执行常见的数据库操作,如插入、更新和删除数据,以及执行复杂的业务逻辑。存储过程一次编译,永久有效,在数据量十分庞大的情况下使用存储过程可以倍速提高效率。

2.存储过程的作用与好处:

  1. 预编译:存储过程在首次执行前会被编译成二进制代码,这样可以提高执行效率。

  2. 可重用性:存储过程可以在多个地方被调用,避免了重复编写相同的SQL语句。

  3. 安全性:存储过程可以对数据库的访问权限进行控制,只允许授权的用户执行。

  4. 简化复杂操作:存储过程可以包含控制流程的代码,使得执行复杂的业务逻辑变得简单。

  5. 提高性能:存储过程可以减少网络传输的数据量,提高数据库的性能。

3.存储过程的基本语法:

(1)创建

创建存储过程可以使用SQL Server Management Studio(SSMS)等工具,以下是创建存储过程的一般步骤:

  1. 使用CREATE PROCEDURE语句创建存储过程的模板。语法如下:

    CREATE PROCEDURE procedure_name
        @parameter1 datatype,
        @parameter2 datatype,
        ...
    AS
    BEGIN
        -- 存储过程的代码逻辑
    END
    

    ps:

    • procedure_name:存储过程的名称。
    • @parameter1, @parameter2, …:存储过程的输入参数,可以根据需要指定多个参数,并指定对应的数据类型。
    • AS和BEGIN/END之间是存储过程的代码逻辑。
  2. 在BEGIN和END之间编写存储过程的代码逻辑。可以包含各种SQL语句、条件语句、循环语句、变量和参数等。

  3. 执行CREATE PROCEDURE语句,将存储过程保存到数据库中。

(2)使用

  EXEC [schema_name.]procedure_name @parameter1 = value1, @parameter2 = value2, ...

4.存储过程的3个示例:

下面是三个创建和使用存储过程的示例:

(1)创建一个Contact表的名为“Contactproc”,无参,用于查询Contact表中的所有内容:

CREATE PROCEDURE Contactproc
AS
BEGIN
select * from Contact 
END

在这里插入图片描述

exec Contactproc

在这里插入图片描述

(2)创建一个Contact表的名为“ContactprocN”,含一个参数,用于模糊查询姓名的存储过程:

CREATE PROCEDURE ContactprocN
    @Name nvarchar(50)
AS
BEGIN
    SELECT * FROM Contact WHERE Name LIKE '%' + @Name + '%'
END

在这里插入图片描述

exec ContactprocN @Name = '王'

在这里插入图片描述

(3)创建一个Contact表的名为ContactprocNG,含两个参数,查询条件是姓+群组

Alter PROCEDURE ContactproNG
@Name nvarchar(50),
@GroupId int
AS
BEGIN
select * from Contact Where  Name  LIKE @Name + '%'  AND GroupID = @GroupId 
END

在这里插入图片描述

exec ContactproNG @Name = '张',@GroupID = '2'

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值