create function initnum()
returns int
as
begin
declare @revalue int
select @revalue=convert(int,rand()*10)
return @revalue
end自定义了一个函数,想要返回一个随机的整数,这样写提示:在函数内不正确地使用了 'rand'如果单独写declare @revalue int
select @revalue=convert(int,rand()*10)
print @revalue就没有问题.不知道是什么原因?
returns int
as
begin
declare @revalue int
select @revalue=convert(int,rand()*10)
return @revalue
end自定义了一个函数,想要返回一个随机的整数,这样写提示:在函数内不正确地使用了 'rand'如果单独写declare @revalue int
select @revalue=convert(int,rand()*10)
print @revalue就没有问题.不知道是什么原因?
CREATE VIEW v_RAND
AS
SELECT re=STUFF(RAND(),1,2,'')
GO--生成随机编号的函数
CREATE FUNCTION f_RANDBH(@BHLen int)
RETURNS varchar(50)
AS
BEGIN
DECLARE @r varchar(50)
IF NOT(ISNULL(@BHLen,0) BETWEEN 1 AND 50)
SET @BHLen=10lb_bh: --生成随机编号的处理
SELECT @r=re FROM v_RAND
WHILE LEN(@r)<@BHLen
SELECT @r=@r+re FROM v_RAND
SET @r=LEFT(@r,@BHLen) --检查编号在基础数据表中是否存在
IF EXISTS(SELECT * FROM tb WITH(XLOCK,PAGLOCK) WHERE BH=@r)
GOTO lb_bh RETURN(@r)
END
GO