Oracle vs PostgreSQL Develop(25) - plsql vs plpgsql(语法严谨性)
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Oracle的SQL和PL/SQL语法相对宽松,而PostgreSQL则相对严格一些。在PL/SQL中,某些语句后可以不加分号,而PG则要求必须加分号。Oracle创建存储过程,loop不管加不加分号
千家信息网最后更新 2026年11月01日Oracle vs PostgreSQL Develop(25) - plsql vs plpgsql(语法严谨性)
Oracle的SQL和PL/SQL语法相对宽松,而PostgreSQL则相对严格一些。
在PL/SQL中,某些语句后可以不加分号,而PG则要求必须加分号。
Oracle
创建存储过程,loop不管加不加分号,均可创建成功。
TEST-orcl@DESKTOP-V430TU3>CREATE OR REPLACE PROCEDURE proc_test(a NUMBER) as 2 v_id number; 3 begin 4 for i in (select 1 from dual) loop 5 select 2 into v_id from dual; 6 end loop 7 return; 8 end; 9 /Procedure created.TEST-orcl@DESKTOP-V430TU3>TEST-orcl@DESKTOP-V430TU3>CREATE OR REPLACE PROCEDURE proc_test(a NUMBER) as 2 v_id number; 3 begin 4 for i in (select 1 from dual) loop 5 select 2 into v_id from dual; 6 end loop; 7 return; 8 end; 9 /Procedure created.TEST-orcl@DESKTOP-V430TU3>PostgreSQL
创建存储过程,loop后必须加分号,才可创建成功。
[local:/data/run/pg12]:5120 pg12@testdb=# CREATE OR REPLACE PROCEDURE proc_test(pi_in int) pg12@testdb-# aspg12@testdb-# $$pg12@testdb$# declarepg12@testdb$# v_id int;pg12@testdb$# i record;pg12@testdb$# begin pg12@testdb$# for i in (select 1 from dual) loop pg12@testdb$# select 2 into v_id from dual; pg12@testdb$# end looppg12@testdb$# return; pg12@testdb$# end;pg12@testdb$# $$ LANGUAGE 'plpgsql';t(pi_in int) as$$declare v_id int; i record;begin for i in (select 1 from dual) loop select 2 into v_id from dual; end loop; return; end;$$ LANGUAGE 'plpgsql';ERROR: end label "return" specified for unlabelled blockLINE 11: return; ^[local:/data/run/pg12]:5120 pg12@testdb=# [local:/data/run/pg12]:5120 pg12@testdb=# [local:/data/run/pg12]:5120 pg12@testdb=# CREATE OR REPLACE PROCEDURE proc_test(pi_in int) pg12@testdb-# aspg12@testdb-# $$pg12@testdb$# declarepg12@testdb$# v_id int;pg12@testdb$# i record;pg12@testdb$# begin pg12@testdb$# for i in (select 1 from dual) loop pg12@testdb$# select 2 into v_id from dual; pg12@testdb$# end loop;pg12@testdb$# return; pg12@testdb$# end;pg12@testdb$# $$ LANGUAGE 'plpgsql';CREATE PROCEDURE[local:/data/run/pg12]:5120 pg12@testdb=# [local:/data/run/pg12]:5120 pg12@testdb=#参考资料
N/A
分号
成功
过程
存储
语法
宽松
参考资料
语句
资料
参考
严谨
严谨性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
互联网科技名片
中关村互联网科技集团
金诺互联网科技
麻工互联网科技
中国 科技 互联网
互联网未来科技
百单互联网科技有限公司
北京禾田雨橡互联网科技
米客互联网科技
国外互联网科技网站
甘肃拓世互联网科技有限公司
互联网科技公司实习生
洛阳昕诺飞互联网科技有限公司
互联网在线教育科技创业
中国科技和美国互联网
互联网科技品牌
数字科技和互联网金融哪个好
青岛互联网科技园
互联网高科技绘画
互联网科技工作委员会毛军
与互联网科技公司
互联网科技的英文
米客互联网科技
成都狮子座互联网科技
人人互联网科技是培训
南山科技园互联网公司有哪些
苏州五指互联网络科技有限
恒生科技指数 中概互联网
安徽九吞吴互联网科技有限公司