新聞中心
SQL Server存儲過程是SQL數(shù)據(jù)庫的重要組成部分,其中可以用到許多參數(shù)。在SQL Server存儲過程中,支持輸入(Input)、輸出參數(shù)(Output),也支持返回值參數(shù)(ReturnValue)。

若羌網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)建站。
關于輸入?yún)?shù),大家都很好理解,就是我們提供數(shù)值給存儲過程,這就好比是編程中的按值傳遞(ByVal)的形參。該參數(shù)傳遞到存儲過程后,經(jīng)過處理,但調用方是不可以得到經(jīng)過處理之后的值的。
而輸出參數(shù),則類似于編程中的按引用傳遞(ByRef)的形參。也就是說,該參數(shù)傳遞到SQL Server存儲過程之后,可以在調用方得到處理過后的值。
返回值參數(shù)不是一個形參,而類似于編程中的返回值類型。它都是通過Return語句來返回的,而且在SQL Server中,必須返回INT型的數(shù)據(jù),而且很顯然,只能有一個返回值,因為RETURN語句其實是會終止SQL Server存儲過程的。
下面來看看一個例子
- ALTER PROCEDURE [dbo].[GetCustomers]
- (@rowcount INT OUTPUT)
- AS
- SELECT [CustomerID]
- ,[CompanyName]
- ,[ContactName]
- ,[ContactTitle]
- ,[Address]
- ,[City]
- ,[Region]
- ,[PostalCode]
- ,[Country]
- ,[Phone]
- ,[Fax]
- FROM [Northwind].[dbo].[Customers]
- SET @rowcount=@@rowcount
上面這個SQL Server存儲過程是通過一個輸出參數(shù),來接收一個行計數(shù)。
要實現(xiàn)同樣的功能,也可以用返回值參數(shù)
- ALTER PROCEDURE [dbo].[GetCustomers]
- AS
- SELECT [CustomerID]
- ,[CompanyName]
- ,[ContactName]
- ,[ContactTitle]
- ,[Address]
- ,[City]
- ,[Region]
- ,[PostalCode]
- ,[Country]
- ,[Phone]
- ,[Fax]
- FROM [Northwind].[dbo].[Customers]
- RETURN @@rowcount
那么,如何在別的存儲過程中調用該存儲過程,并且接收它的輸出參數(shù)或者返回值參數(shù)呢
下面是接收輸出參數(shù)的示例
- DECLARE @count INT
- EXECUTE GetCustomers @count OUTPUT
- PRINT @count
下面是接收返回值參數(shù)的示例
- DECLARE @count INT
- EXECUTE @count=GetCustomers
- PRINT @count
當前題目:SQLServer存儲過程中的參數(shù)運用
新聞來源:http://fisionsoft.com.cn/article/djdccjc.html


咨詢
建站咨詢
