在函数SQL Server中使用序列

Lui*_*gel 1 t-sql sql-server function sql-server-2012

我正在尝试在T-SQL函数中使用序列但是T-SQL不允许使用Next Value for,并且OPENROWSET由于数据库的安全性而不允许我进行查询.

CREATE FUNCTION dbo.newInvoice()
RETURNS varchar
AS
BEGIN
    DECLARE @NumberHold AS bigint

    SELECT 
        @NumberHold = NEXT VALUE FOR dbo.Ten_Seq

    RETURN 
        dbo.sfnSprintf('MyOmnyInvoice[%s]', CAST(@NumberHold as varchar), default);
END
Run Code Online (Sandbox Code Playgroud)

sql*_*ser 5

您无法NEXT VALUE FOR在内置函数中使用函数

根据MSDN

限制和限制

在视图中,在用户定义的函数中或在计算列中.