各位上面所说是什么问题啊存储过程为:/*产生住院就诊号*/
CREATE PROCEDURE dp_zyjzdj  @li_ddbh int,@ls_ylh varchar(20),@ls_cybm varchar(20),@ls_czyxm varchar(20),@ldt_cysj datetime, @ls_jzh varchar(13) output
AS
BEGIN
    declare @ls_tjzh varchar(13)
    declare @li_row int
    declare @ls_xm varchar(20)
    declare @ls_xb varchar(20)
    declare @ls_sfz varchar(25)
    declare @ls_jtdz varchar(100)
    declare @ldt_csrq datetime
    select @ls_xm=xm,@ls_xb=xb,@ldt_csrq=csrq,@ls_sfz=sfz,@ls_jtdz=jtdz
    from v_cbryzl_cy
    where cybm=@ls_cybm
    select @li_row=@@rowcount
    if @@error<>0
    begin
       Select @ls_jzh='-1'/*查询参保人员资料错误*/
       return
    end
    if @li_row=0
    begin
       select @ls_jzh='-2'/*查询不到此医疗证号*/
       return
    end    select @ls_tjzh=isnull(max(jzh),'0')
    from zyjzdj
    where ddbh=@li_ddbh    select @li_row=@@ROWCOUNT
    if @@error<>0
    begin
       select @ls_jzh='-3'/*查询就诊号错误*/
       return
    end    if  @li_row = 1
    begin
       select @ls_jzh=cast(cast(@ls_tjzh as decimal(13,0))+1 as varchar(13))
    end
   /* select @@trancount*/
    BEGIN TRANSACTION
    insert into zyjzdj (ddbh,jzh,ylh,cybm,xm,xb,csrq,sfz,dz,rysj,cysj,czyxm,srsj)
    values (@li_ddbh,@ls_jzh,@ls_ylh,@ls_cybm,@ls_xm,@ls_xb,@ldt_csrq,@ls_sfz,@ls_jtdz,getdate(),@ldt_cysj,@ls_czyxm,getdate())
    if @@error<>0
    begin
       select @ls_jzh='-4'/*插入就诊信息失败*/
       rollback transaction
       select @@trancount
       return
    end
    commit TRANSACTION
    select @@trancount
    return
END