【原创】Oracle实现PGSQL的generate_series
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,PostgreSQL 有生成序列的函数,可以方便的进行造数据。这里我用ORACLE实现了PGSQL的generate_series函数功能。POSTGRESQL.t_girl=# select * f
千家信息网最后更新 2025年11月11日【原创】Oracle实现PGSQL的generate_series
PostgreSQL 有生成序列的函数,可以方便的进行造数据。这里我用ORACLE实现了PGSQL的generate_series函数功能。
POSTGRESQL.
t_girl=# select * from generate_series(1,10); generate_series----------------- 1 2 3 4 5 6 7 8 9 10(10 行记录)时间:1.290 mst_girl=# select * from generate_series(1,10,2); generate_series----------------- 1 3 5 7 9(5 行记录)时间:0.431 mst_girl=# select * from generate_series(1,10,3); generate_series----------------- 1 4 7 10(4 行记录)时间:0.879 mst_girl=# select * from generate_series(2,10,3); generate_series----------------- 2 5 8(3 行记录)时间:0.867 mst_girl=# select count(*) from generate_series(1,1000); count------- 1000(1 行记录)时间:1.142 mst_girl=# select to_char(now() - '1 day'::interval * n,'YYYY-MM-DD') as result from generate_series(1,10) g(n); result------------ 2015-12-08 2015-12-07 2015-12-06 2015-12-05 2015-12-04 2015-12-03 2015-12-02 2015-12-01 2015-11-30 2015-11-29(10 行记录)时间:17.284 ms
ORACLE:
12:10:34 SQL> select * from table(ytt_generate_series(1,10));COLUMN_VALUE ------------ 1 2 3 4 5 6 7 8 9 10 已选择 10 行。已用时间: 00: 00: 00.0212:10:36 SQL> select * from table(ytt_generate_series(1,10,2));COLUMN_VALUE ------------ 1 3 5 7 9 已用时间: 00: 00: 00.0012:10:54 SQL> select * from table(ytt_generate_series(1,10,3));COLUMN_VALUE ------------ 1 4 7 10 已用时间: 00: 00: 00.0012:10:56 SQL> select * from table(ytt_generate_series(2,10,3));COLUMN_VALUE ------------ 2 5 8 已用时间: 00: 00: 00.0212:11:04 SQL> select count(*) from table(ytt_generate_series(1,1000)); COUNT(*) ---------- 1000 已用时间: 00: 00: 00.1313:32:13 SQL> select to_char(sysdate - n,'YYYY-MM-DD') from table(ytt_generate_series(1,10));TO_CHAR(SY----------2015-12-082015-12-072015-12-062015-12-052015-12-042015-12-032015-12-022015-12-012015-11-302015-11-29已选择 10 行。已用时间: 00: 00: 00.01
附上代码:
-- Declare result set.create or replace type ytt_num is object( n number);/create or replace type numbers_table is table of ytt_num;/-- Function body.-- Created by ytt.-- 2015/12/9create or replace function ytt_generate_series(f_start_num number := 1, -- Start number.f_end_num number, -- Finish number.f_step_num number := 1 -- Step.)return numbers_table pipelinedis list numbers_table := numbers_table(); i number := 0; j number := 1;begin i := f_start_num; j := 1; -- Increase nested table's size. list.extend(f_end_num); -- Loop begin. while i <= f_end_num loop -- Initlization. list(j) := ytt_num(null); list(j).n := i; pipe row(list(j)); i := i + f_step_num; j := j + 1; end loop; return;end;/
时间
函数
选择
代码
功能
序列
数据
生成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
堡垒前线为什么说登录服务器失败
数据库汇总有哪些方式
我心中的网络安全观分享
济南网络安全评估
潮州自主可控软件开发
方舟哪个服务器有变形金刚
多宝视无法连接服务器
怎样做一个软件开发
mac数据库比较工具
网络安全与信息指令是哪个国家
服务器阵列盘是什么
前景网络技术有限公司
我的世界国庆节服务器
博士论文查重数据库有哪些
清远月嫂服务软件开发哪家强
数据库技术最新发展趋势
软件开发进度把控
信息网络技术的发展与著作权
聊天软件开发 视频教程
荣耀30更新数据库
景德镇香港服务器哪家可靠
gns3 模拟服务器
天津软件开发公司
软件开发除了北上广还能去哪里
服务器系统安装出现管理员
五年级网络安全手抄报内容
软件开发 加班
统一软件开发方法
网络安全形势及对策研究
卫健系统网络安全会议内容