当前位置:首页 » 存储配置 » 存储过程随机数

存储过程随机数

发布时间: 2022-04-03 04:18:48

Ⅰ 传奇的dbc2000数据库sql命令如何生成随机数,尝试了sql的rand()等随机函数,都提示不支持,请大神指点

不用update,你看这样行不,不行的话就参考下吧---1新建一个存储过程createproc[dbo].[Number]asbegincreatetable#xuhao(Numnvarchar(15))declare@iint,@tempintselect@i=1while@i

Ⅱ SQL拼接,如何把随机数和字段拼接起来

单独一句sql够呛。

创建测试表,插入数据:

createtabletabpart$
(DATAOBJ#varchar2(4));

insertintotabpart$values('1234');
insertintotabpart$values('5678');
insertintotabpart$values('2222');
insertintotabpart$values('3333');
commit;

执行存储过程:

declare
v_randvarchar2(4);
v_strvarchar2(3);
cursorcuris
selectDATAOBJ#fromtabpart$;
begin
opencur;
loop
fetchcur
intov_rand;
exitwhencur%notfound;
selectdbms_random.string('x',3)intov_strfromal;
dbms_output.put_line(v_str||v_rand);
endloop;
closecur;
end;

结果:

每次执行的结果都不一样,如果非要在表里显示,可建立一个表,将这个结果数据插入到表中,就不赘述了。

Ⅲ SQL中生成100行随机数据,生成的数据格式如下图所示。最好做一个存储过程。

select'201308'+
right('0'+convert(varchar,cast(ceiling(rand(checksum(newid()))*31)asint)),2)+
right('0'+convert(varchar,cast(ceiling(rand(checksum(newid()))*23)asint)),2)+
right('0'+convert(varchar,cast(ceiling(rand(checksum(newid()))*59)asint)),2)+
right('0'+convert(varchar,cast(ceiling(rand(checksum(newid()))*59)asint)),2)
fromspt_valueswheretype='P'andnumber<=99

直接运行,楼上的执行100次太不靠谱了吧,那我要1000条是很耽误时间的

Ⅳ sql server中利用RAND()函数产生一个随机卡号

IF EXISTS(SELECT * FROM sysobjects WHERE name='proc_CardID')
DROP PROCEDURE proc_CardID
GO
CREATE PROCEDURE proc_CardID
@randCardID varchar(19) OUTPUT, --输出参数
@firstNo varchar(10)='1010 3576 ' --输入参数,有默认值
AS
DECLARE @r numeric(15,8) --15位数,保留8位小数
DECLARE @tempStr char(10)

select @r=RAND((DATEPART(mm,GETDATE())*100000)+(DATEPART(ss,GETDATE())*1000)+DATEPART(ms,GETDATE()))
SET @tempStr=@r
SET @randCardID=@firstNo+SUBSTRING(@tempStr,3,4)+' '+SUBSTRING(@tempStr,7,4)
GO
--测试
DECLARE @mycardID char(19)
EXECUTE proc_CardID @mycardID OUTPUT
print '产生的随机卡号为:'+@mycardID

我用的是存储过程;关键代码就是RAND((DATEPART(mm,GETDATE())*100000)+(DATEPART(ss,GETDATE())*1000)+DATEPART(ms,GETDATE()))
其他的代码都是修饰
我们学SQL就做的这个,你也在学》》?呵呵

Ⅳ 求教 存储过程 随机函数

哈哈 SQL 函数没有生成随机数的函数。。。

不过在ORACLE里面就可以运用DBMS_RANDOM包生成一个0-1的随机数,,

返回一个2位数。。

select dbms_random.value(10,99) from al;

dbms_random包的具体文本请参考以下:

select text from all_source where name='dbms_random' and type='package' order by line;

Ⅵ oracle 随机生成12位不重复数据,求高手写个存储过程。高分!!!

create or replace procere insert_random_Code(maxNum in number)
as
v_code number;
v_count number;
i number;
begin
i:=0;
for i in 0..maxNum-1 loop
select trunc(dbms_random.value(100000000000,1000000000000)) into v_code from al;
select count(*) into v_count from code_table_01 where code=v_code;
if v_count=0 then
select count(*) into v_count from code_table_02 where code=v_code;
if v_count=0 then
insert into code_table_02(code)values(v_code);
i:=i+1;
end if;
end if;
end loop;
if i=maxNum then
commit;
elsif
roolback;
end if;
end;

求推荐 求采纳 求赞

Ⅶ msSql存储过程,随机生成字段属性。

可以用rand 函数。假设在30个数中随机,可以用
select floor(rand()*30)取得0~29中的随机数,然后取得汉字。

Ⅷ SQL数据库字段的默认随机值

create
table
t(
id
uniqueidentifier
not
null
default(
newid()))
--guid不会重复,36位字符+字母+数字
--全数字
create
table
t(
id
char(10)
not
null
default(
right('0000000000'+rtrim(abs(checksum(newid())))+rtrim(abs(checksum(newid()))),16)))

Ⅸ 如何用存储过程随机产生10000个(0-100)随机数

代码还不少,还是帮你写了吧,呵呵

create table tb_jifen(名次 [int] NOT NULL,成绩[int] not null)

-----------------------------------------------------------
--插入数据:
create procere p_insert
as
begin
set nocount on
declare @i int
set @i=1
while @i<=10000
begin
insert into tb_jifen(名次,成绩)
values(0,round(rand()*100,0))
set @i=@i+1
end
set nocount off
end

-----------------------------------------------------------
--更新名次:
create procere p_update
as
begin
set nocount on
declare @i int,@fen int
set @i=1
declare #my_cur cursor for select 成绩 from tb_jifen group by 成绩 order by 成绩 desc
open #my_cur
fetch next from #my_cur into @fen
while @@fetch_status=0
begin
update tb_jifen set 名次=@i where 成绩=@fen
set @i=@i+1
fetch next from #my_cur into @fen
end
close #my_cur
deallocate #my_cur
set nocount off
end

Ⅹ 数据库怎么让一列生成随机数

可以用存储过程啊

就可以实现啊

语句也行啊

MYSQL语法

SELECTFLOOR(7+(RAND()*6));

你先建立一个表

然后在插入数据

UPDATE `news_conta_all_20141104` SET memo4=CEIL(RAND()*199);

热点内容
编程文件加密 发布:2024-11-20 23:08:57 浏览:434
举报群源码 发布:2024-11-20 23:07:46 浏览:482
华为云php 发布:2024-11-20 22:46:20 浏览:900
sql2000实例名 发布:2024-11-20 22:30:13 浏览:416
先科服务器ip 发布:2024-11-20 22:26:32 浏览:459
L0加密 发布:2024-11-20 22:23:12 浏览:77
win10怎么取消跳过密码登录密码 发布:2024-11-20 22:18:00 浏览:404
压缩坏1台 发布:2024-11-20 22:17:58 浏览:187
轻松赚脚本 发布:2024-11-20 22:07:39 浏览:382
fpm缓存dns 发布:2024-11-20 21:56:37 浏览:908