• 存储过程知识总结【一】


    /*====================================================
    *描述:            存储过程知识点总结,以Northwind数据库的Employees表为例
    ======================================================*/

    --========================1.没有参数的存储过程================
    create procedure usp_NoParameterSelect
    as
    begin
    select * from dbo.Employees
    end

    GO

    --========================执行测试========================
    EXECUTE usp_NoParameterSelect

    GO
    --=======================2.带参数的存储过程===================

    create procedure usp_ParameterSelect
    (
    @employeeID INT
    )
    as

    begin
    select * from dbo.Employees
    where EmployeeID = @employeeID
    end

    --=======================执行测试===========================
    EXECUTE usp_ParameterSelect 1

    GO
    --=======================3.带多个参数的存储过程==================

    create procedure usp_MultiParameterSelect
    @employeeID INT,
    @employeeFirstName nvarchar(10)--要加上参数类型的长度
    as
    begin
    select * from dbo.Employees
    where EmployeeID = @employeeID
    and FirstName = @employeeFirstName
    end

    --========================执行测试===========================
    EXECUTE usp_MultiParameterSelect 1,'Nancy'

    GO

    --=======================4.output输出存储过程====================
    create procedure usp_OutputSelect
    @employeeID int ,
    @employeeFirstName nvarchar(10) output
    as
    begin
    select @employeeFirstName = FirstName from Employees
    where EmployeeID = @employeeID
    end

    --=======================执行测试=============================
    declare @name nvarchar(10)
    execute usp_OutputSelect 1,@name output
    select @name as name
    GO

    --======================5.return输出存储过程======================

    create procedure usp_ReturnSelect
    @employeeFirstName nvarchar(10)
    AS
    begin
    declare @employeeID INT
    select @employeeID = EmployeeID from Employees
    where FirstName = @employeeFirstName

    return @employeeID --**返回值必须是INT类型**
    end

    GO

    --======================执行测试===============================
    declare @employeeID INT
    execute @employeeID = usp_ReturnSelect 'Nancy'
    print @employeeID

    GO

    --=====================6.同时有output和return输出的存储过程=============

    create procedure usp_OutputAndReturnSelect
    @firstName nvarchar(10),
    @lastName nvarchar(20) output
    as
    begin
    declare @employeeID INT;

    select @employeeID = EmployeeID,@lastName=LastName from Employees
    where FirstName = @firstName

    return @employeeID
    end

    GO

    --======================执行测试================================
    declare @employeeID INT
    declare @lastName nvarchar(20)
    execute @employeeID = usp_OutputAndReturnSelect 'Nancy',@lastName output
    select @employeeID,@lastName


    /*===========================================================
    *****************************未完待续***************************************
    *============================================================*/

  • 相关阅读:
    起步!!!
    最简单的窗口弹出程序
    起步!!!
    写一个顺序表模板,包括顺序表的基本功能,例如查找,插
    最简单的窗口弹出程序
    [导入]8000元投资股市16年变成4亿元 中国版巴菲特?
    [导入]看到男司机被一车女歹徒侮辱,我好后悔没有能力制止!
    [导入]黑社会内部报纸一份,请含泪观看
    [导入]月薪80000的卖毛片给我上了震撼一课
    [导入]索尼新品可以握着用的怪异鼠标
  • 原文地址:https://www.cnblogs.com/ucos/p/3512965.html
Copyright © 2020-2023  润新知