sql MS SQL存储过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql MS SQL存储过程相关的知识,希望对你有一定的参考价值。

-- Simple parameterized procedure
CREATE PROCEDURE HumanResources.uspGetEmployeesTest2
              @LastName  NVARCHAR(50) = '',
              @FirstName NVARCHAR(50)
AS
    SET NOCOUNT ON;
    SELECT FirstName,
           LastName,
           Department
    FROM   HumanResources.vEmployeeDepartmentHistory
    WHERE  FirstName = @FirstName
           AND LastName = @LastName
GO 
-- EXECUTION 
HumanResources.uspGetEmployeesTest2 'Chen',  'John'
-- OR
EXECUTE HumanResources.uspGetEmployeesTest2 
         @FirstName=  'John',
         @LastName ='Chen'
         

-- Stored procedure with an output parameter
CREATE PROC uspGetLastProductName 
      @ProductName Nvarchar(50) OUTPUT
AS
BEGIN
    SELECT TOP 1 @ProductName= Name 
	    FROM Production.Product 
	    ORDER BY ProductID DESC;
END

-- EXECUTION
DECLARE @Result Nvarchar(50)
EXEC uspGetLastProductName @Result OUTPUT;
PRINT @Result


-- Stored procedure with Return value
CREATE PROC uspProductExists 
        @ProductName NVarchar(50)
AS
IF EXISTS( SELECT 1 
        FROM [Production].[Product] 
		WHERE Name  = @ProductName)
  RETURN 1;
ELSE
  RETURN -1;
GO
-- EXECUTION
DECLARE @ReturnCode INT
EXEC @ReturnCode = uspProductExists 'Blade'
PRINT @ReturnCode;

以上是关于sql MS SQL存储过程的主要内容,如果未能解决你的问题,请参考以下文章

sql 用于空白MS-SQL(T-SQL)存储过程的模板。

存储过程的 MS-SQL 权限

带参数的ms sql server的扩展存储过程,怎么传递参数

ms sql存储过程返回数据不输出

MS SQL 和 Java:在调用存储过程期间找不到表变量

MS SQL 分页存储过程