• but this code doesn't work in functions

    The isolation level and transaction will have to go into whatever calls the function, but the rest should work in scalar UDFs.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass