[SQL] T-SQL: 存储过程

1. 创建和修改存储过程

(1)创建

CREATE PROCEDURE 存储过程名
     参数列表
AS
BEGIN
    存储过程体
END

(2)修改

ALTER PROCEDURE 存储过程名
     参数列表
AS
BEGIN
    存储过程体
END

2. 存储过程的输入输出参数,返回值

(1)创建存储过程

CREATE PROCEDURE [sp_test]
     @input_value int
    ,@output_value int output
AS
BEGIN
    SET NOCOUNT ON

    SELECT @input_value as [first_table]

    SET @input_value=2
    SELECT @input_value as [second_table]

    SET @output_value=3

    RETURN 4
END

(2)调用存储过程

DECLARE @return_value int,
        @output_value int

EXEC    @return_value = [dbo].[sp_test]
        @input_value = 1,
        @output_value = @output_value OUTPUT

SELECT  @output_value as N'@output_value'

SELECT  'Return Value' = @return_value

GO

(3)结果:

first_table
1

second_table
2

@output_value
3

Return Value
4

注:
(1)SET NOCOUNT ON表示存储过程不返回受影响的行数信息
(2)使用C#调用存储过程的时候,需要指定SqlParameter对象的Direction属性
可以是以下几种ParameterDirection.Input/Output/ReturnValue

点赞