Sql server 在SQL Server函数中使用序列
我试图在T-SQL函数中使用序列,但T-SQL不允许使用的下一个值,而且由于数据库的安全性,OPENROWSET不允许我进行查询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
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,没有更新数据库的内容,也没有使函数在后续调用中返回不同值的内容。