ORACLE中SQL产生记录的例子
2007-02-08 17:53
435 查看
如果要插入固定有序的数据,用一个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
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
相关文章推荐
- 从oracle表中随机取记录,产生随机数和随机字符串
- ORACLE 返回1-100的记录的SQL写法
- oracle sql 学习记录
- 不同数据库中查询前几条记录的用法(SQL Server/MYSQL /Oracle/Postgresql)
- ORACLE 中rowid查询重复记录的sql语句分析
- 查看oracle用户执行的sql语句历史记录
- 记录oracle常用sql语句
- oracle―SQL技巧之(一)连续记录查询sql案例测试
- Oracle中查询并删除重复记录的SQL语句详解
- Oracle百万记录sql语句优化技巧
- 不同数据库中查询前几条记录的用法(SQL Server/Oracle/Postgresql)
- Oracle 查询并删除重复记录的SQL语句
- SQL查询前10条记录(SqlServer/mysql/oracle)[语法分析] (转)
- Oracle 查询并删除重复记录的SQL语句
- 删除重复记录ORACLE SQL
- 查看oracle用户执行的sql语句历史记录
- 不同数据库中查询前几条记录的用法(SQL Server/Oracle/Postgresql)
- Oracle常用SQL语句记录单
- 怎么记录XPO产生的sql的执行情况(翻)
- SQL查询前10条记录(SqlServer/mysql/oracle/sybase)[语法分析] (转)