当前位置:首页 > 数据库 > Oracle

Oracle ->> 生成测试数据

v_exists_table number; begin select count(*) into v_exists_table from all_tables where table_name = NUMBERS; if v_exists_table <> 0 then execute immediate drop table NUMBERS; end if; end; / create table Numbers( ID NUMBER CONSTRAINT cons_Numbers_ID_uni_nn NOT NULL UNIQUE, GRP_FACTOR NUMBER CONSTRAINT cons_Numbers_ID_nn NOT NULL ); / INSERT INTO Numbers(ID, GRP_FACTOR) with tmp as ( select col1 from ( select 1 as col1 from all_objects order by OBJECT_ID) a where ROWNUM <= 12 order by ROWNUM ASC), tmp2 as ( select col1 from ( select 1 as col1 from all_objects, tmp order by OBJECT_ID) a where ROWNUM <= 100000 order by ROWNUM ASC) select rn, grp_factor from ( select ROW_NUMBER() OVER(ORDER BY sys_guid()) AS rn, ntile(10) over (order by sys_guid()) as grp_factor from tmp2) t order by rn;

又是一个蛋疼的区别。Oracle下把WITH AS语句和INSERT INTO结合起来需要把INSERT INTO放在WITH AS前面,而SQL SERVER下是放在WITH AS后面那条SELECT语句的前面。

 

Oracle ->> 生成测试数据

标签:

本文系统来源:http://www.cnblogs.com/jenrrychen/p/4605699.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐