Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server函数中使用序列_Sql Server_Function_Tsql_Sql Server 2012 - Fatal编程技术网

Sql server 在SQL Server函数中使用序列

Sql server 在SQL Server函数中使用序列,sql-server,function,tsql,sql-server-2012,Sql Server,Function,Tsql,Sql Server 2012,我试图在T-SQL函数中使用序列,但T-SQL不允许使用的下一个值,而且由于数据库的安全性,OPENROWSET不允许我进行查询 CREATE FUNCTION dbo.newInvoice() RETURNS varchar AS BEGIN DECLARE @NumberHold AS bigint SELECT @NumberHold = NEXT VALUE FOR dbo.Ten_Seq RETURN dbo.sfnSpr

我试图在T-SQL函数中使用序列,但T-SQL不允许使用的下一个值,而且由于数据库的安全性,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
不能对内置函数中的函数使用下一个值

限制和限制

在视图、用户定义函数或计算列中

不能对内置函数中的函数使用下一个值

限制和限制

在视图、用户定义函数或计算列中


什么版本的SQL Server?您的问题显示了的新值,但您的代码显示了的下一个值?实际的错误是什么?为什么需要使用Openrowset?请澄清。SQL server 2012,我需要OPENROWSET以绕过函数限制的下一个值,顺便问一下,下一个值是什么?对不起,我的键入错误您有什么理由需要在函数中执行此操作吗?您可以将其放在存储过程中,但调用它们时当然有限制。其背后的想法是将此函数与Fluent Nhibernate一起使用,这样我就可以用代码管理所有数据库基本上-在用户定义的函数中,您无法做任何有副作用的事情。没有newid,没有序列,没有getdate,没有更新数据库的内容,也没有使函数在后续调用中返回不同值的内容。SQL Server的版本是什么?您的问题显示了的新值,但您的代码显示了的下一个值?实际的错误是什么?为什么需要使用Openrowset?请澄清。SQL server 2012,我需要OPENROWSET以绕过函数限制的下一个值,顺便问一下,下一个值是什么?对不起,我的键入错误您有什么理由需要在函数中执行此操作吗?您可以将其放在存储过程中,但调用它们时当然有限制。其背后的想法是将此函数与Fluent Nhibernate一起使用,这样我就可以用代码管理所有数据库基本上-在用户定义的函数中,您无法做任何有副作用的事情。没有newid,没有序列,没有getdate,没有更新数据库的内容,也没有使函数在后续调用中返回不同值的内容。