SQL Server 存储过程入门

SQL Server 存储过程入门

    • 1.存储过程的定义:
    • 2.存储过程的作用与好处:
    • 3.存储过程的基本语法:
      • (1)创建
      • (2)使用
    • 4.存储过程的3个示例:
      • (1)创建一个Contact表的名为“Contactproc”,无参,用于查询Contact表中的所有内容:
      • (2)创建一个Contact表的名为“ContactprocN”,含一个参数,用于模糊查询姓名的存储过程:
      • (3)创建一个Contact表的名为ContactprocNG,含两个参数,查询条件是姓+群组

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

SQL Server 存储过程入门_第1张图片

exec Contactproc

SQL Server 存储过程入门_第2张图片

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

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

在这里插入图片描述

exec ContactprocN @Name = '王'

SQL Server 存储过程入门_第3张图片

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

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

SQL Server 存储过程入门_第4张图片

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

SQL Server 存储过程入门_第5张图片

你可能感兴趣的:(数据库学习与实践,数据库,服务器,sqlserver)