首页 > 数据库技术 > 详细

SQL-创建存储过程

时间:2021-03-06 23:37:30      阅读:26      评论:0      收藏:0      [点我收藏+]
/*
    日期:2021-3-6
    人员:LDH
    说明:SQL-演示存储过程
*/

USE TEST;
GO

CREATE TABLE People
(
    Id INT IDENTITY(1, 1) NOT NULL PRIMARY KEY,
    Name NVARCHAR(20) NOT NULL,
    Lastname NVARCHAR(10) NOT NULL,
    Address NVARCHAR(200) NOT NULL
);

INSERT INTO People
(
    Name,
    Lastname,
    Address
)
VALUES
(N大大, N, 中国上海),
(N小小, N, 中国江苏);


SELECT Id,
       Name,
       Lastname,
       Address
FROM People;

-- ===================================================================
-- 创建存储过程(无参数)
-- ===================================================================
GO


CREATE PROCEDURE proc_GetPersonName
AS
BEGIN
    SELECT Id,
           Name,
           Lastname,
           Address
    FROM People;
END;


-- 执行存储过程
EXEC proc_GetPersonName;
GO


-- ===================================================================
-- 创建存储过程(有输入参数)
-- ===================================================================


CREATE PROCEDURE proc_GetPersonNameById @Id int
AS
BEGIN
    SELECT Id,
           Name,
           Lastname,
           Address
    FROM People
    WHERE Id = @Id;
END;

-- 执行存储过程
EXEC proc_GetPersonNameById 2;
GO

-- ===================================================================
-- 创建存储过程(有输出参数)
-- ===================================================================


CREATE PROCEDURE proc_GetPersonFullNameAndAddressById
(
    @Id int,
    @FullName nvarchar(50) OUTPUT,
    @Address nvarchar(200) OUTPUT
)
AS
BEGIN
    SELECT @FullName = Lastname + Name,
           @Address = Address
    FROM People
    WHERE Id = @Id;
END;

-- 执行存储过程
USE [TEST];
GO

DECLARE @return_value INT,
        @FullName NVARCHAR(50),
        @Address NVARCHAR(200);

EXEC @return_value = [dbo].[proc_GetPersonFullNameAndAddressById] @Id = 2, -- 输入参数赋值
                                                                  @FullName = @FullName OUTPUT,
                                                                  @Address = @Address OUTPUT;

SELECT @FullName AS N@FullName,
       @Address AS N@Address;

SELECT Return Value = @return_value;

GO

 

SQL-创建存储过程

原文:https://www.cnblogs.com/LifeDecidesHappiness/p/14490879.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!