使用 newID() 创建函数 [英] creating function using newID()

查看:16
本文介绍了使用 newID() 创建函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不断收到此错误:有什么想法吗?

I keep getting this error: Any Ideas?

在函数内的newid"中无效使用副作用或依赖时间的运算符.

Invalid use of side-effecting or time-dependent operator in 'newid' within a function.

我正在使用 MS-SQL Server 2005.这是T-SQL 语句:

I am working with MS-SQL Server 2005. Here is the T-SQL statement:

Create Function [dbo].[GetNewNumber](  )
RETURNS int
AS
BEGIN

  Declare @code int

  set @code = (SELECT CAST(CAST(newid() AS binary(3)) AS int) )

  RETURN (@code)
END

推荐答案

该函数不会让您使用 NewID,但这可以解决.

The function will not let you use the NewID, but this can be worked around.

Create View vwGetNewNumber
as
Select Cast(Cast(newid() AS binary(3)) AS int) as NextID

Create Function [dbo].[GetNewNumber] ( ) RETURNS int 
AS 
BEGIN
Declare @code int
Select top 1  @code=NextID from vwGetNewNumber
RETURN (@code) 
END

然后就可以按计划使用select dbo.[GetNewNumber]().

Then you can use select dbo.[GetNewNumber]() as planned.

这篇关于使用 newID() 创建函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆