zoukankan      html  css  js  c++  java
  • SQL Server 中的存储过程

    一:初步了解存储过程的使用

    创建一个简单的存储过程

    1 CREATE PROC spEmployee
    2 AS
    3    SELECT * FROM HumanResources.Employee;

    执行这个存储过程:

    EXEC spEmployee;

    删除存储过程:

    1 --删除存储过程
    2 DROP PROC spEmployee

    二:参数化存储过程

    带参数初步体验:

    1 CREATE PROC spEmployeeByName
    2     @LastName  nvarchar(50)  --定义一个参数   类型为 nvarchar
    3 AS
    4 
    5 SELECT p.LastName, p.FirstName, e.JobTitle, e.HireDate
    6 FROM Person.Person p
    7 JOIN HumanResources.Employee e
    8     ON p. BusinessEntityID = e.BusinessEntityID  --从两张表中选取信息
    9 WHERE p.LastName LIKE @LastName + '%';   --存储过程的 条件

    执行带参数的存储过程:

    EXEC spEmployeeByName 'Dobney';  --直接附加参数的值即可

    给参数提供一个默认值(为了参数是可选的):

    CREATE PROC spEmployeeByName
    @LastName nvarchar(50) = NULL   --将参数 LastName 的值 赋值为 NULL
    AS
    IF @LastName IS NOT NULL   -- 做条件判断
        SELECT p.LastName, p.FirstName, e.JobTitle, e.HireDate
        FROM Person.Person p
        JOIN HumanResources.Employee e
            ON p.BusinessEntityID = e.BusinessEntityID
        WHERE p.LastName LIKE @LastName + '%';  --注意这句
    ELSE
        SELECT p.LastName, p.FirstName, e.JobTitle, e.HireDate
        FROM Person.Person p
        JOIN HumanResources.Employee e
            ON p.BusinessEntityID = e.BusinessEntityID;

    创建输出参数:

  • 相关阅读:
    [CF1076D] Edge Deletion
    [CF1081D] Maximum Distance
    [CF1095F] Make It Connected
    [CF1328E] Tree Queries
    [CF1328F] Make k Equal
    Codeforces Round #629 (Div. 3) 总结
    [CF1131D] Gourmet choice
    [CF1176D] Recover it!
    [CF1205B] Shortest Cycle
    [CF1213G] Path Queries
  • 原文地址:https://www.cnblogs.com/TangPro/p/3288067.html
Copyright © 2011-2022 走看看