不允许在用户定义函数主体中内置不确定函数;这些不确定函数如下:@@CONNECTIONS       @@TOTAL_ERRORS 
@@CPU_BUSY          @@TOTAL_READ 
@@IDLE              @@TOTAL_WRITE 
@@IO_BUSY           GETDATE 
@@MAX_CONNECTIONS   GETUTCDATE 
@@PACK_RECEIVED     NEWID 
@@PACK_SENT         RAND 
@@PACKET_ERRORS     TEXTPTR 
@@TIMETICKS   
LZ可以把加个datetime类型的参数,把getdate()传进去

解决方案 »

  1.   

    不允许在用户定义函数主体中内置不确定函数;这些不确定函数如下:@@CONNECTIONS       @@TOTAL_ERRORS 
    @@CPU_BUSY          @@TOTAL_READ 
    @@IDLE              @@TOTAL_WRITE 
    @@IO_BUSY           GETDATE 
    @@MAX_CONNECTIONS   GETUTCDATE 
    @@PACK_RECEIVED     NEWID 
    @@PACK_SENT         RAND 
    @@PACKET_ERRORS     TEXTPTR 
    @@TIMETICKS   
    LZ可以为该函数加个datetime类型的参数,把getdate()传进去
      

  2.   

    create function getDH(@Now datetime)
    returns char(14)
    As
    begin
    declare @BH char(14)
        SELECT 
            @BH = 'XS'+CONVERT(char(8),@Now,112) +
                   RIGHT('000'+CAST(ISNULL(MAX(STUFF(流水号,1,10,''))+1,1) AS VARCHAR(4)),4)
        FROM 
            交易记录
        WHERE 
            substring(流水号,3,8) = CONVERT(char(8),@Now,112)
    Return(@BH)
    end
    go
    --调用的时候
    select dbo.getDH(getdate())