您的位置:首页 > 数据库 > Oracle

ORACLE中SQL产生记录的例子

2007-02-08 17:53 405 查看
如果要插入固定有序的数据,用一个SQL可以用下面的方法

select rownum-1 from dual connect by rownum < 21
但只支持9I或者更高版本,如果是8I就要建立个临时表了:

alter table CMES.C_PARAMETER_NUM_T
drop primary key cascade;

drop table CMES.C_PARAMETER_NUM_T cascade constraints;

create table CMES.C_PARAMETER_NUM_T (
NUM_ID NUMBER(20) not null
);

alter table CMES.C_PARAMETER_NUM_T
add constraint PK_C_PARAMETER_NUM_T primary key (NUM_ID);

declare i integer;
begin
i:= 0;
loop
exit when i> 400 ;
i:=i+1;
INSERT INTO CMES.C_PARAMETER_NUM_T (NUM_ID)VALUES(I);
end loop;
end;
/
COMMIT;
这里还有注意一下,NULL列
如果UNION一个空值列,如:

select num_id,null qty from c_parameter_num_t where num_id < 20
在9I中可,但8I就要看相UNION的字段类型,否则会报类型不对,比如上面的例子就需要TO_NUMBER(NULL) QTY
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: