当前位置:首页 » 存储配置 » 执行存储过程返回值

执行存储过程返回值

发布时间: 2023-05-10 14:14:21

❶ 有返回值的存储过程怎么在命令行执行

sql">--1.OUPUT参数返回值
CREATEPROCEDURE[dbo].[nb_order_insert](
@o_buyeridint,
@o_idbigintOUTPUT
)
AS
BEGIN
SETNOCOUNTON;
BEGIN
INSERTINTO[Order](o_buyerid)
VALUES(@o_buyerid)
SET@o_id=@@IDENTITY
END
END

存储过程中获得方法:

DECLARE@o_buyeridint
DECLARE@o_idbigint
EXEC[nb_order_insert]@o_buyerid,@o_idoutput


--2.RETURN过程返回值
CREATEPROCEDURE[dbo].[nb_order_insert](
@o_buyeridint,
@o_idbigintOUTPUT
)
AS
BEGIN
SETNOCOUNTON;
IF(EXISTS(SELECT*FROM[Shop]WHERE[s_id]=@o_shopid))
BEGIN
INSERTINTO[Order](o_buyerid)
VALUES(@o_buyerid)
SET@o_id=@@IDENTITY
RETURN1—插入成功返回1
END
ELSE
RETURN0—插入失败返回0
END

存储过程中获得方法:

DECLARE@o_buyeridint
DECLARE@o_idbigint
DECLARE@resultbit
EXEC@result=[nb_order_insert]@o_buyerid,o_idbigint


以下是程序获得存储过程值


1、获取Output输出参数值

//存储过程
//CreatePROCEDUREMYSQL
//@aint,
//@bint,
//@cintoutput
//AS
//Set@c=@a+@b
//GO
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());
conn.Open();
SqlCommandMyCommand=newSqlCommand("MYSQL",conn);
MyCommand.CommandType=CommandType.StoredProcere;
MyCommand.Parameters.Add(newSqlParameter("@a",SqlDbType.Int));
MyCommand.Parameters["@a"].Value=20;
MyCommand.Parameters.Add(newSqlParameter("@b",SqlDbType.Int));
MyCommand.Parameters["@b"].Value=20;
MyCommand.Parameters.Add(newSqlParameter("@c",SqlDbType.Int));
MyCommand.Parameters["@c"].Direction=ParameterDirection.Output;
MyCommand.ExecuteNonQuery();
Response.Write(MyCommand.Parameters["@c"].Value.ToString());

2、获取Return返回值

//存储过程
//CreatePROCEDUREMYSQL
//@aint,
//@bint
//AS
//return@a+@b
//GO
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());
conn.Open();
SqlCommandMyCommand=newSqlCommand("MYSQL",conn);
MyCommand.CommandType=CommandType.StoredProcere;
MyCommand.Parameters.Add(newSqlParameter("@a",SqlDbType.Int));
MyCommand.Parameters["@a"].Value=10;
MyCommand.Parameters.Add(newSqlParameter("@b",SqlDbType.Int));
MyCommand.Parameters["@b"].Value=20;
MyCommand.Parameters.Add(newSqlParameter("@return",SqlDbType.Int));
MyCommand.Parameters["@return"].Direction=ParameterDirection.ReturnValue;
MyCommand.ExecuteNonQuery();
Response.Write(MyCommand.Parameters["@return"].Value.ToString());

❷ 存储过程里面执行存储过程 并且返回值 怎么写

以下是我写的存储过程,希望在更新后的列表增加一列返回值,更新的owner,email信息若成功,返回sucess,失败则failer,请高手帮助。USE [Test]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[USP_ZJ_Dim]ASSET NOCOUNT ON;BEGINdeclare @StructureType nvarchar(255)declare @CatecodeID nvarchar(255)declare @StructureCode nvarchar(255)declare @Owner nvarchar(255)declare @Email nvarchar(255)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 Fetch next from ZJ_dim into @StructureType,@CatecodeID,@StructureCode,@Owner,@Email End Close ZJ_Dim End

❸ 如何使用DataContext.ExecuteCommand并得到执行存储过程的返回值

SQL Server中存储过程的返回值不是通过return语句返回的(return语句是在用户自定义函数中使用的春信),而是通过存储过程的参数来返回,在定义存储过程的参数时使用关键字output来指定此参数是返回值。
而在调用存储过程时,也必须使用关键字给接返橡收返回值的变量,扒世轮这样才能在调用时获得存储过程的返回值。
示例:

1
2
3
4

create procere dbo.pr_add @a int, @b int, @c int output
as
set @c = @a + @b
go

调用:

1
2
3

declare @v int
execute dbo.pr_add 1, 2, @v output

❹ SQL 取存储过程的返回值

存储过程应该有返回值的,
问题应该出现在你vb6的调用语句中(第二个参数是输出类型的参数,
是否有正确设置).
你可以在查询分析器中执行此存储过程,
看看返回的结果.
还有,
此存储过程中的select语句最好加上top
1限制,
因为你只要判断是否能选到结果而已:
select
top
1
*
from
tb_package
where
packagenumber=@a

php执行mysql的存储过程后如何获取返回值

mysqli_query($db,"SET NAMES utf8"); $result=$db->query("call gxtj($year,$jd)"); // gxtj是mysql的存储过程名称 while( $row = $result->滚茄fetch_array(MYSQLI_ASSOC)) //完乱茄成从返回结果集中取出一行{while ($key=key($row)){ //依次取得字段名$value=current($row); //依次取得字哗备察段值}}

❻ oracle 中运行存储过程作为返回值

oracle可以使用out型参数返回值,例如:

--查询某商品编号是否存在,返回查询状态
createorreplaceprocereproc_getGood
(
param_shopIdnumber,--商品编号
param_flagoutnumber--查询状态0不存在
)
as
declarev_countnumber(1);
begin
selectcount(*)intov_countfromtb_goodswhereshopid=param_shopid;

ifv_count=0then
param_flag:=0;
else
param_flag:=1;
endif;

end;

❼ 如何调用存储过程的返回值

存储过程中的第一个参数 @title 将接收由调用程序指定的输入值,而第二个参数 @ytd_sales 将向调用程序返回该值。SELECT 语句使用 @title 参数以获得正确的 ytd_sales 值,并将该值赋予 @ytd_sales 输出参数。 CREATE PROCEDURE get_sales_for

❽ 怎么获取存储过程的返回值

楼主会在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();
就可以了

❾ sql 存储过程返回值 C#

SqlParameter[]
param={new
SqlParameter("@i_out",...};
【param[0].Direction=ParameterDirection.OutPut;】
cmd.Execute...
param[0].value;
//有返回值了。
也就是将param设置为输出参数,
执行完存储过程,param里面就有你的返回值了。

❿ sqlserver2005 存储过程返回值的问题

返回结果的方式有很多我说两种,一种是利用存储过程的参数可以把存储过程的结果返回,另外一种是在外部接收存储过程内部return出来的结果。当然啦,还可以在存储过程内部select要返回的结果。
比如:

createproctest
@p_errormsgvarchar(80)=''out
as
select@p_errormsg='测试'
return-100
go

--------------------------------------------------------------

declare@errorcodeint
declare@errormsgvarchar(80)
exec@errorcode=test@errormsgout

select@errorcodeaserrorcode,@errormsgaserrormsg
--@errorcode是return出来的结果@errormsg是输出参数@p_errormsg的执行结果

热点内容
冠道如何选择配置 发布:2025-02-09 12:20:21 浏览:970
为什么安卓手机wearpro搜不到手表 发布:2025-02-09 12:16:07 浏览:670
服务器安全怎么做 发布:2025-02-09 12:08:08 浏览:484
传奇编译完整部署教程 发布:2025-02-09 12:03:39 浏览:830
vivo手机微信聊天记录在哪个文件夹 发布:2025-02-09 11:55:24 浏览:839
数控内孔循环编程实例 发布:2025-02-09 11:51:41 浏览:762
工作站玩游戏买什么配置的电脑 发布:2025-02-09 11:49:34 浏览:773
奶块透视脚本群 发布:2025-02-09 11:44:18 浏览:544
敢死连狙击手之无名高地ftp 发布:2025-02-09 11:27:21 浏览:584
lol天使辅助脚本 发布:2025-02-09 11:24:39 浏览:140