Oracle vs PostgreSQL Develop(17) - ARRAY
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,PostgreSQL可用ARRAY来替代Oracle中的collection type,包括associative array/Varrays (Variable-Size Arrays)/Neste
千家信息网最后更新 2024年11月24日Oracle vs PostgreSQL Develop(17) - ARRAY
PostgreSQL可用ARRAY来替代Oracle中的collection type,包括associative array/Varrays (Variable-Size Arrays)/Nested Tables
Oracle
简单举个例子:
drop table if exists employee;create table employee(id int,name varchar(30),department varchar(30),salary float);insert into employee(id,name,department,salary) select rownum,substrb(object_name,1,30),substrb(object_name,1,30),1000 from dba_objects;DECLARE TYPE EmpTabTyp IS TABLE OF employee%ROWTYPE INDEX BY PLS_INTEGER; emp_tab EmpTabTyp; i int := 0;BEGIN /* Retrieve employee record. */ for c1 in (select * from employee) loop emp_tab(i).id := c1.id; emp_tab(i).name := c1.name; emp_tab(i).department := c1.department; emp_tab(i).salary := c1.salary; i := i+1; end loop; -- SELECT * INTO emp_tab(100) FROM employee WHERE id = 100;END;/
更简单的做法是使用bulk collection
DECLARE TYPE EmpTabTyp IS TABLE OF employee%ROWTYPE INDEX BY PLS_INTEGER; emp_tab EmpTabTyp; i int := 0;BEGIN /* Retrieve employee record. */ select id,name,department,salary bulk collect into emp_tab from employee;END;/
PostgreSQL
使用ARRAY
drop type record_of_employee;CREATE TYPE record_of_employee AS (id int,name varchar(30),department varchar(30),salary float);do$$declare employees record_of_employee[];begin select array_agg(employee) into employees from employee limit 1; raise notice 'id is %',employees[1].id; raise notice 'name is %',employees[1].name;end$$;
对于Associative array indexed by string,PG的数组则替代不了.
DECLARE -- Associative array indexed by string: TYPE population IS TABLE OF NUMBER -- Associative array type INDEX BY VARCHAR2(64); -- indexed by string...
参考资料
PL/SQL Collections and Records
Oracle PL/SQL Collections: Varrays, Nested & Index by Tables
Collections in Oracle PL/SQL
Working with Collections
Take a Dip into PostgreSQL Arrays
例子
做法
参考资料
数组
资料
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全卫士守护
数据库安装好后安装
数据库 破解
广东手机软件开发订制
国家网络安全小组组长是谁
云网站服务器安全风险
安全软件开发工程师
微思敦网络技术有限公司
数据库底层数据
我的世界神盾局服务器大战
武大网络安全学院考研成绩分布
怎么查询数据库中的人数总和
搞软件开发的都是拿月薪吗
数据库管理技术分几个阶段
邮政网络安全谁负责
天津金山网络技术有限公司
网络安全法律法规宣讲活动
六盘水数据库技术与应用
软件开发工作内容描述
oracle 数据库语法
wincc服务器报通讯错误
广州严品网络技术有限公司
高青服务管理crm软件开发
网络安全投资点
南京进口软件开发费用
华为网络技术初赛知识点总结
vscode里的服务器
重庆驰成互联网科技有限公司
住建局软件开发公司
幼儿园校园网络安全宣传标语