精华内容
下载资源
问答
  • 存储过程OUTPUT实例

    2013-07-28 13:51:43
    就是一个很简单的实例。对output不熟的话可以看看
  • /*嵌套存储过程中需要输出来的参数*/output 就是这个存储过程返回的值 也可以说输出的值--创建存储过程 求最大值CREATE PROCEDURE [dbo].[P_Max]@a int, -- 输入@b int, -- 输入@Returnc int output --输出AS if (@a...
    /*嵌套存储过程中需要输出来的参数*/
    output 就是这个存储过程返回的值 也可以说输出的值
    --创建存储过程 求最大值
    CREATE PROCEDURE [dbo].[P_Max]
    @a int, -- 输入
    @b int, -- 输入
    @Returnc int output --输出
    AS

    if (@a>@b)
    set @Returnc =@a
    else
    set @Returnc =@b

    -- 调用
    declare @Returnc int
    exec P_Max 2,3,@Returnc output
    select @Returnc

    转载于:https://www.cnblogs.com/xiaoma-qi/p/6050458.html

    展开全文
  • using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["str"].ConnectionString)) { conn.Open();... 获取output类型参数的值的时候,需要把reader关掉,否则无法获取值
    using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["str"].ConnectionString))
                {
                    conn.Open();
                    using (SqlCommand rscm = new SqlCommand("Proc_Paged", conn))
                    {
                        rscm.CommandType = CommandType.StoredProcedure;
    
    
                        SqlParameter param = new SqlParameter("@pageIndex", SqlDbType.Int);
                        param.Direction = ParameterDirection.Input;
                        param.Value = pageindex;
                        rscm.Parameters.Add(param);
    
    
                        param = new SqlParameter("@pageSize", SqlDbType.Int);
                        param.Direction = ParameterDirection.Input;
                        param.Value = pagesize;
                        rscm.Parameters.Add(param);
    
                        param = new SqlParameter("@total", SqlDbType.Int);
                        param.Direction = ParameterDirection.Output;
                        param.Value = 100;
                        rscm.Parameters.Add(param);
    
                        SqlDataReader rd = rscm.ExecuteReader();
                        dt = Utils.ConvertDataReaderToDataTable(rd);
                        rd.Close();
                        rd.Dispose();
                        count = Convert.ToInt32(rscm.Parameters["@totalSubject"].Value.ToString());
                        
                    }
                    conn.Close();
                }
     获取output类型参数的值的时候,需要把reader关掉,否则无法获取值
    展开全文
  • 存储过程output的使用总结

    千次阅读 2017-11-23 02:34:00
    /*output的用法:简单一点说就是带有output标识的参数在存储过程中的修改将被保存。 如果不带,那么当存储过程运行结束后,对参数的修改将消失。如果用编程语言来形容的话, 就是类似于值传递参数与地址传递参数一样...

    /*output的用法:简单一点说就是带有output标识的参数在存储过程中的修改将被保存。

    如果不带,那么当存储过程运行结束后,对参数的修改将消失。如果用编程语言来形容的话,

    就是类似于值传递参数与地址传递参数一样的方式。这里要注意的是如果要设置output,形参和实参要同时设置(实参可以不写,否则会报以下错误

    形参"@SNO" 未声明为OUTPUT 参数,但传递进来的实参请求输出。*/

    CREATE PROC STU_SNO(@SNO VARCHAR(10) output)--在写这个参数的时候必须要加括号,否则会报错:超出了存储过程、函数、触发器或视图的最大嵌套层数

    AS

    SELECT *

    FROM STUDENT

    WHERE SNO=@SNO

    declare @num varchar(10)

    set @num='990001'

    EXEC STU_SNO @num output--这个output可以不写

    select @num--这里只能用select而不能用print,否则是打不出东西的



    本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/380291,如需转载请自行联系原作者

    展开全文
  • 存储过程output参数

    2021-05-18 06:31:23
    在SSIS的Execute SQL Task组件中执行存储过程,想要返回单行的结果,总是无法返回查询的结果,返回的错误是无法把DBNull转换为String类型: The type of the value (DBNull) being assigned to variable "User::...

    在SSIS的Execute SQL Task组件中执行存储过程,想要返回单行的结果,总是无法返回查询的结果,返回的错误是无法把DBNull转换为String类型:

    The type of the value (DBNull) being assigned to variable "User::MailBody" differs from the current variable type (String). Variables may not change type during execution. Variable types are strict, except for variables of type Object

    对于这个错误,暂不做深入的调查。存储过程返回执行的结果,可以是通过返回值、基础表来实现,当然也可以通过output参数来实现。

    在创建存储过程时,必须通过output关键字显式声明输出型参数。对于输出型参数,既可以接收值,也既可以不接收值,但是必须被赋值为变量,用于向外输出结果。没有用output关键字声明的参数是输入型参数,对于输入型参数,只接收值,不向外输出结果。

    第一步:在存储过程中定义output参数 @para,声明输出型参数的格式如下所示:

    @para data_type output
    

    举个例子,创建一个存储过程,定义参数@p2为输出型参数,默认情况下,@p1是输入型参数:

    create proc sp_name 
        @p1 int,
        @p2 int output
    

    第二步:在存储过程中对output参数赋值,注意,在存储过程返回前,必须对output参数赋值,否则存储过程会抛出异常

    set @p2=value
    

    第三步:调用存储过程,获得output参数的值

    声明一个变量@var,通过变量来获得output参数的值,注意:在调用存储过程时,必须通过output关键字显式声明输出参数。

    declare @var data_type
    exec sp_name @p1=1, @p2 = @var output
    

    对于output参数,必须赋值为变量,变量可以初始化,也可以不初始化。

    1,当变量被初始化时

    如果变量已经初始化,那么输出型参数接收了变量的值,和普通的输入型参数的用法相同,可以在存储过程中直接引用output参数的值。如下所示,可以在存储过程sp_name中引用@p2的值:

    declare @var data_type
    set @var=2
    
    exec sp_name @p1=1, @p2 = @var output
    

    2,当变量未初始化时

    如果变量未被初始化,那么在存储过程中,不可以直接引用output参数的值,只有输出参数@p2被赋值之后,才可以引用。

    declare @var data_type
    
    exec sp_name @p1=1, @p2 = @var output
    

    参考文档:

    展开全文
  • 主要介绍了Sql Server 存储过程调用存储过程接收输出参数返回值,需要的朋友可以参考下
  • 存储过程输出OUTPUT

    2019-09-23 19:32:13
    存储过程输出一个OUTPUT参数,c#怎么接收? 1 public int AddToAuthorization_Prg_ShortCut(string admin,int OpID, int PrgID, bool IsShortCut, int DisplayOrder) 2 { 3 SetConnectionString(ad...
  • SQLserver 存储过程 参数 output

    千次阅读 2019-07-25 13:49:20
    create proc testReturnValue(@age int,@tt varchar(10) Output) as if @age%2=0 begin return set @tt= (@age%2)+1 end else begin set @tt= @age+1 end return @tt declare @ttt varchar(10) e...
  • 定义存储过程时,同时制定输入及输出参数 语法: -- @参数名 数据类型[=默认值][OUTPUT][,....n] 例:输入学生的学号,统计该学生所选课程数,和不及格科目数,并调用存储过程显示结果 create proc prcGetStuInfo @...
  • 原帖:http://blog.csdn.net/htl258/archive/2009/03/30/4035016.aspx<br />  create proc pr_getdate @getYearnvarchar(4) output, ...output as begin declare@snvarchar(200)<br
  • C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度。不然获取到的结果总是只有第一字符。本人就是由于这个原因,折腾了很久。在此记录一下,供大家以后参考! 例如: CREATE ...
  • C#调用SQL中的存储过程中有output参数

    千次阅读 2016-06-06 16:14:47
    Alter proc Sp_AutoTenderTrialAll @isAuto int , @id int, @AdminId int , @AdminName varchar(250), @output int output as Begin  set @output=1 end /*************C#************/  using
  • c++实现调mysql存储过程,实现存储过程的出参入参,可以支持查询多数据返回,还有存储过程的复杂数据的增删改等
  • SqlServer存储过程(output参数)

    万次阅读 2017-08-29 17:02:00
    CREATE PROCEDURE PR_Sum @a int, @b int, @sum int output AS BEGIN set @sum=@a+@b END --调用存储过程 declare @sum2 int exec PR_Sum 1,2,@sum2 output print @sum2
  • #endregion #region 3、 定义执行类型,比如执行存储过程 command.CommandText = "dbo.pro_out16"; command.CommandType = System.Data.CommandType.StoredProcedure; #endregion #region 4。1、 定义参数类型 ...
  • Output 此参数只用于将信息从存储过程传输回应用程序。  ReturnValue 此参数表示存储过程的返回值。SQL Server 的存储过程参数列表中不显示该参数。它只与存储过程的 RETURN 语句中的值相关联。  存储...
  • try { $procName = “P_Test_GetMixData”; $stmt = $dbh->prepare(“EXEC $procName ?, ?, ?”); $nReturnValue = 0; $strReturnValue = “”; $strSearchValue = “abandonship”; $stmt->bindParam(1, $...
  • pymssql调用sqlserver存储过程output 参数 直接上代码 def api_adddept(): data = json.loads(request.get_data()) userdata={} with UseDataBaseSQLServer() as cursor: msg=cursor.callpr...
  • 本文就来介绍下两者在调用存储过程上的一点区别,ibatis有一个专门的标签,在mybatis里面已经没有这标签了,而是通过一个参数statementType="CALLABLE"来区分。 存储过程: ALTER PROCEDURE [dbo].[Pro_Create...
  • 如何使用存储过程output参数

    千次阅读 2008-10-16 08:23:00
    存储过程代码如下: ALTER PROCEDURE dbo.testOutput ( @p1 int , @p2 int OUTPUT, @p3 int ) AS /* SET NOCOUNT ON */ select @p2 = count(*) from testProc where testi
  • SQL SERVER中,是不能直接调用... 但调用远程数据库的存储过程就没有问题,并且存储过程OUTPUT类型的参数,某些情况下,可以这样子来变通使用,获得返回数据。 远程数据库:[192.168.0.1].dbo.[RemoteDb]: CRE...
  • 非常简单的一个C#源码文件,C#接收存储过程输出参数。
  • -- 将全局变量受影响的行数赋值给到@ret END python调用流程   这里我们使用python的pymssql包来调用SP,其实原理很简单,当我们在SQL Server的官方客户端软件SSMS上执行带OUTPUT参数的存储过程的时候,最官方的...
  • output 类型的参数需要在存储过程的参数列表中添加。output类型的参数传入存储过程后还会返回其运行后的值。 return value类型的参数不需要在存储过程的参数列表中添加。return value类型的参数就是存储过程最后...
  • 存储过程示例: ALTER PROCEDURE [WebApi_Login_SendPhoneCode ] ( @Action int, --1:查询 2:添加一条记录 @PhoneNo varchar(20), @Smscode varchar(10), @SendType varchar(10), @SendMsg varchar(200)...
  • 1.DBMS_OUTPUT 1.1 作用:调试PL/SQL程序 1.2 相关函数: 命令 作用 备注 enable 在serveroutput on的情况下,用来使dbms_output生效(默认即打开) 启用serveroutput : set serveroutput on ...
  • CREATE PROCEDURE [dbo].[usp_DataTransferMaxID_Create]  @NEW_ID INT OUTPUT     ...  SET @NEW_ID=@OLD_ID+1 ...被其他存储过程调用 DECLARE @TRANSFER_ID INT EXEC usp_DataTransferMaxID_Create
  • C#中的如下两条语句调用存储过程output参数始终为空(dataGridView1能正确调用到想要的select数据,但是存储过程的两个输出参数值不能传递给两个texBox.Text),不知为何? textBox1.Text = parameters[2].Value....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 220,973
精华内容 88,389
关键字:

存储过程output