如何将存贮过程存下来呢?每月计算工资的程序代码不一样,为了追溯,想实现保存每月计算时的存贮过程
-----------------------------------
一个工资软件,计算月工资时,由于内部的计算模式经常变化,所以有可能过几个月,变化就有很大的变化。
但是有的员工要追溯以前几个月的工资是如何计算出来的,经常不好追溯,因为计算工资是通过存贮过程实现的。
但是这个存贮过程经常变呀。
所以我想实现,将每月的存贮过程存下来。但是我不知如何保存,用什么类型的字段保存呢?

解决方案 »

  1.   

    新建一张表,有过程中加上INSERT代码.如果员工比较多,有上千上万,那么建立每月生成一张历史表.declare @tablename nvarchar(50)
    set @tablename=N'工资历史表_'+convert(nvarchar(7),getdate(),23)
    if object_id(@tablename) is null
    exec('select * into '+@tablename+ ' from 工资表')
      

  2.   


    declare @str varchar(4000)
    exec @str = sp_helptext 'p_addPrintInfo'--p_addPrintInfo是一个存储过程
    print @str--结果
    /*
    Text
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    CREATE procedure p_addPrintInfo
        @Bno  char(15),
        @Pqty int
    as
    begin
        if exists(select 1 from dbo.Bookprint where Bno = @Bno)
        begin
            update a
            set PrinTimes = PrinTimes + 1
                ,Pqty = Pqty + @Pqty
            from dbo.Bookprint a
            where Bno = @Bno
        end
        else
        begin
            insert into dbo.Bookprint select @Bno, 1, getdate(), @Pqty
        end
    end
    */