當前位置:首頁 » 存儲配置 » 存儲過程隨機數

存儲過程隨機數

發布時間: 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-21 01:32:54 瀏覽:228
usb傳屏器如何配置 發布:2024-11-21 01:13:53 瀏覽:13
解釋方式和編譯方式有什麼區別 發布:2024-11-21 01:09:21 瀏覽:127
安卓下游戲用什麼軟體 發布:2024-11-21 01:07:45 瀏覽:793
伺服器當電腦使用需要什麼 發布:2024-11-21 00:52:50 瀏覽:790
怎麼改百度游戲密碼 發布:2024-11-21 00:48:35 瀏覽:158
冬天存儲蔬菜 發布:2024-11-21 00:47:37 瀏覽:450
為什麼安卓安裝包損壞 發布:2024-11-21 00:41:09 瀏覽:607
手機當前密碼在哪裡 發布:2024-11-21 00:35:23 瀏覽:67
linux下如何修改密碼 發布:2024-11-21 00:20:11 瀏覽:65