當前位置:首頁 » 存儲配置 » sql獲取存儲過程返回值

sql獲取存儲過程返回值

發布時間: 2022-04-05 01:26:51

A. 怎麼獲取存儲過程的返回值

樓主會在C#中使用存儲過程嗎?

如果會的話,sql執行函數賦值給一個變數就可以了

SqlConnection cnn = new SqlConnection();
cnn.ConnectionString = "Data Source = 數據源;uid=sa;pwd = ;database=資料庫名";
cnn.Open();//資料庫連接

//設置存儲過程參數
SqlParameter prm;
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandType = CommandType.StoredProcere;
cmd.CommandText = "存儲過程名";
//項目類型
prm = new SqlParameter();
prm.ParameterName = "參數名1";
prm.SqlDbType = SqlDbType.VarChar;
prm.Size = 50;
prm.Value = comboBox1.Text;
prm.Direction = ParameterDirection.Input;
cmd.Parameters.Add(prm);
...
//可以繼續設置參數,參數個數由存儲過程的具體內容決定

cmd.ExecuteNonQuery();//執行存儲過程

實際上如果要獲取存儲過程的返回值,只要將上面一句代碼修改成:
int retn = cmd.ExecuteNonQuery();
就可以了

B. sql存儲過程怎麼返回string類型的返回值怎麼返回多個值

1.如果是返回一個值,可以在存儲過程里增加參數進行返回,如:
create proc aaa(@ReturnValue varchar(100) output)
……
你在存儲過程里設置@ReturnValue的值就行了。
VB里運行存儲過程,然後訪問ReturnValue參數就行了。
2、如果是返回多列數據,就直接在存儲過程里select表,VB里運行存儲過程後,可以獲取返回表。

C. 在 sql select 語句中 如何獲取 存儲過程的返回值

SQL Server中存儲過程的返回值不是通過return語句返回的(return語句是在用戶自定義函數中使用的),而是通過存儲過程的參數來返回,在定義存儲過程的參數時使用關鍵字output來指定此參數是返回值。

而在調用存儲過程時,也必須使用關鍵字給接收返回值的變數,這樣才能在調用時獲得存儲過程的返回值。

示例:

createproceredbo.pr_add@aint,@bint,@cintoutput
as
set@c=@a+@b
go

調用:

declare@vint
executedbo.pr_add1,2,@voutput
select@v

D. SQL 取存儲過程的返回值

存儲過程應該有返回值的,
問題應該出現在你vb6的調用語句中(第二個參數是輸出類型的參數,
是否有正確設置).
你可以在查詢分析器中執行此存儲過程,
看看返回的結果.
還有,
此存儲過程中的select語句最好加上top
1限制,
因為你只要判斷是否能選到結果而已:
select
top
1
*
from
tb_package
where
packagenumber=@a

E. 如何獲取存儲過程返回值

1.OUPUT參數返回值

CREATE PROCEDURE [dbo].[nb_order_insert](
@o_buyerid int ,
@o_id bigint OUTPUT
)
AS
BEGIN
SET NOCOUNT ON;
BEGIN
INSERT INTO [Order](o_buyerid )
VALUES (@o_buyerid )
SET @o_id = @@IDENTITY
END
END

2.存儲過程中獲得方法:

DECLARE @o_buyerid int
DECLARE @o_id bigint
DECLARE @result bit
EXEC @result = [nb_order_insert] @o_buyerid ,o_id output

3.SELECT 數據集返回值

CREATE PROCEDURE [dbo].[nb_order_select](
@o_id int
)
AS
BEGIN
SET NOCOUNT ON;
SELECT o_id,o_buyerid FROM [Order]
WHERE o_id = @o_id
GO

F. SQL Server,取存儲過程返回值。

如果返回標量值的話,例如文章的個數,可以使用儲存過程的輸出(OUTPUT)參數。在定義存儲過過程時為參數指定OUTPUT關鍵字。C#調用存儲過程時指定參數SqlParameter對象的Direction屬性為Output。

如果是返回多個結果集的話,可以直接在存儲過程中使用多個select查詢就行。在C#代碼中使用SqlDataReader對象的NextResult方法提取下一個結果集。
請採納答案,支持我一下。

G. SQL SERVER裡面如何在存儲過程裡面獲取另一個存儲過程所返回的表的數據

第一個存儲過程(被調用的)里定義OUTPUT參數,如:
...
Create Procere 存儲過程1
@參數1 數據類型
@參數2 數據類型 output
AS
存儲過程語句

第二個存儲過程:
...
Create ...
...
AS
Declare @本地參數1
Declare @本地參數2

EXEC 存儲過程1 @本地參數1,@本地參數2 OUTPUT
--這樣@本地參數2就可以直接使用了,帶回來的是存儲過程1中的@參數2.

H. SQL中存儲過程調用存儲過程,怎麼取返回值

存儲過程中的第一個參數 @title 將接收由調用程序指定的輸入值,而第二個參數 @ytd_sales 將向調用程序返回該值。SELECT 語句使用 @title 參數以獲得正確的 ytd_sales 值,並將該值賦予 @ytd_sales 輸出參數。
CREATE PROCEDURE get_sales_for_title
@title varchar(80), -- This is the input parameter.
@ytd_sales int OUTPUT -- This is the output parameter.
AS
-- Get the sales for the specified title and
-- assign it to the output parameter.
SELECT @ytd_sales = ytd_sales
FROM titles
WHERE title = @title
RETURN
GO

I. SQL存儲過程返回值問題

USE [Test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
---------1
alter tablle dbo.Dim_Structure add updateSTATUS varchar(6)
go
---------1
ALTER PROCEDURE [dbo].[USP_ZJ_Dim]
AS
SET NOCOUNT ON;
BEGIN
declare @StructureType nvarchar(255)
declare @CatecodeID nvarchar(255)
declare @StructureCode nvarchar(255)
declare @Owner nvarchar(255)
declare @Email nvarchar(255)
---------------0
declare ZJ_dim cursor for
select [StructureType],[CatecodeID],[StructureCode],[Owner],[Email]
from test.dbo.lander
Open ZJ_Dim
Fetch next from ZJ_dim into @StructureType,@CatecodeID,@StructureCode,@Owner,@Email
While @@FETCH_STATUS=0
Begin
Update dbo.Dim_Structure
Set Owner =@Owner,Email=@Email
where StructureType=@StructureType and CatecodeID=@CatecodeID and StructureCode=@StructureCode
--------------------2
if @@rowcount>0
update dbo.Dim_Structure set updateSTATUS='sucess' where StructureType=@StructureType and CatecodeID=@CatecodeID and StructureCode=@StructureCode
else
update dbo.Dim_Structure set updateSTATUS='failer' where StructureType=@StructureType and CatecodeID=@CatecodeID and StructureCode=@StructureCode
--------------------2
Fetch next from ZJ_dim into @StructureType,@CatecodeID,@StructureCode,@Owner,@Email
End
Close ZJ_Dim
-----------3
deallocate ZJ_Dim
------------3
End

--1添加新列,如果有updateSTATUS欄位就不用添加了,把我代碼里的updateSTATUS換成已有欄位名
--2我添加的代碼

--3建議注銷游標,游標不注銷太耗費內存
--0可將1寫道0的位置(不建議)

熱點內容
鄰居ftp打開後不顯示文件夾 發布:2024-11-20 21:40:39 瀏覽:906
安卓快手圖片怎麼弄 發布:2024-11-20 21:10:21 瀏覽:81
linuxtomcat內存 發布:2024-11-20 20:56:28 瀏覽:776
小米5s存儲卡 發布:2024-11-20 20:48:48 瀏覽:15
互聯網宣傳片腳本 發布:2024-11-20 20:47:09 瀏覽:994
穿越火線伺服器ip地址和埠 發布:2024-11-20 19:59:43 瀏覽:701
李鴻章環球訪問 發布:2024-11-20 19:54:07 瀏覽:197
方舟聯機伺服器怎麼發育 發布:2024-11-20 19:53:15 瀏覽:937
蘋果手機怎麼設計密碼 發布:2024-11-20 19:53:13 瀏覽:181
一個伺服器可以搭建多少游戲 發布:2024-11-20 19:43:56 瀏覽:973