begin
for i in 1 .. 1000 loop
insert into stu
(SNO, SNAME, SAGE, SSEX, SDEPT, TNO)
values
(00 || i,
'peter'||i,
floor(DBMS_RANDOM.VALUE(10, 15)),
case floor(DBMS_RANDOM.VALUE(1, 3)) WHEN 1 THEN 'm'
WHEN 2 THEN 'f' ELSE 'n' END ,
'01',
'001');
end loop;
end;
1.字符链接两种方式
concat('asd',concat('asd','551510'))
'adas'||'5415'||'54541aadsa'
2.DBMS_RANDOM.VALUE(10, 15) 取随机数 包含小数
3.ceil(向上)、floor(向下)、trunc(截取整数位)和round(四舍五入)四种取整函数
4.case floor(DBMS_RANDOM.VALUE(1, 3)) (可以是函数,可以是查询)WHEN 1 THEN 'm'
WHEN 2 THEN 'f' ELSE 'n' END
merge into .. using..
declare
type sno is table of varchar(50);
v_sno sno:=sno('0001','0002','0003');
begin
for i in 1 .. v_sno.count loop
merge into stu s--不能有分号
using(--不能有分号
select (select o.sno from stu o where o.sno = v_sno(i)) sno from dual--不能有分号
) t on (t.sno is not null)--不能有分号
when matched then--不能有分号
update set s.sname = 'asdas' where s.sno = v_sno(i)--不能有分号
when not matched then--不能有分号
insert (sno,sname,sage,ssex)values(v_sno(i),'asdasd','15','f');
end loop;
end;