Sql Server 儲存過程呼叫儲存過程接收輸出引數,返回值
阿新 • • 發佈:2019-01-11
- CREATE PROCEDURE [dbo].[GetCustomers]
- (@rowcount INT OUTPUT)
- AS
- SELECT [CustomerID]
- ,[CompanyName]
- ,[ContactName]
- ,[ContactTitle]
- ,[Address]
- ,[City]
- ,[Region]
- ,[PostalCode]
- ,[Country]
- ,[Phone]
- ,[Fax]
-
FROM [Northwind].[dbo].[Customers]
- SET @[email protected]@rowcount
接收輸出引數:
- DECLARE @count INT
- EXECUTE GetCustomers @count OUTPUT
- PRINT @count
2,帶返回值
建立儲存過程:
- CREATE PROCEDURE [dbo].[GetCustomers]
- AS
- SELECT [CustomerID]
- ,[CompanyName]
- ,[ContactName]
- ,[ContactTitle]
-
,[Address]
- ,[City]
- ,[Region]
- ,[PostalCode]
- ,[Country]
- ,[Phone]
- ,[Fax]
- FROM [Northwind].[dbo].[Customers]
- RETURN @@rowcount
接收返回值:
- DECLARE @count INT
- EXECUTE @count=GetCustomers
- PRINT @count
簡單的小例子:
CREATE PROC myProc
@year1 varchar(10), --年份
@month1 varchar(100), --多個月份
@Rt1 varchar(100) output --輸出引數
AS
BEGIN
set @Rt1=( select name from dbo.tb where id=2) --儲存過程中 變數賦值的兩種方法
--select @Rt1 = name from dbo.tb where id = 2 --此時輸出引數@Rt1已經被賦值(輸出引數在我看來,就是傳入儲存過程的一個引用)
--return -1 有return就會在這兒結束 ,返回值如果有也只能是int
END
執行儲存過程:
declare @back varchar(100)
exec myProc '231','fds',@back output --傳入@back的引用,在過程中為其賦值,這就是輸出引數的作用
select @back name --查詢顯示並起別名