解决方案 »

  1.   


    显然是同一个。一个sql文件,就那么几行代码难道我会浪费十分钟,费80分,去弄一个存储过程,然后再到另外一个地方截图用来忽悠??什么心态。
      

  2.   

    难道楼主[USER_BASIC_INFO_TB]表上有触发器?
      

  3.   

    楼主,那个报错很明显,你有往USER_BASIC_INFO_TB 这个表里面插入重复的主键值 
    但是为什么返回结果那么多行,我看了你的SP好几遍,也没发现为什么会返回那么多行,实在费解或许真该看看是否是表上面有触发器
      

  4.   

    严重同意楼上的观点,应该是insert 触发器里还有操作(最有可能的就是触发器里又调用了这个过程)。两个编号,就是一个是该过程里查的,一个是触发器里查的(可能是调用了某过程),第三个2627,肯定是SELECT @RetCode 的输出,后面两个无列名...不分析了,没啥意义了。一切皆有可能...
      

  5.   

    DECLARE @RetCode INT
    EXECUTE @RetCode = USP_INSERT_USER_BASIC_INFO 10001, 'TestName', 900001, 100000000 
    SELECT @RetCode
    从你的储存过程看@RetCode返回的是 @ERROR_CODE这个的值。
    IF ( @ERROR_CODE <> 0 )条件不满足会返回0表示储存过程执行状态。
    要返回  编号 需在储存过程中添加输出参数。