Oracle vs PostgreSQL Develop(25) - plsql vs plpgsql(语法严谨性)
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,Oracle的SQL和PL/SQL语法相对宽松,而PostgreSQL则相对严格一些。在PL/SQL中,某些语句后可以不加分号,而PG则要求必须加分号。Oracle创建存储过程,loop不管加不加分号
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
网络安全校园图片
安吉天气预报软件开发
金运激光有没有软件开发
新出现的网络技术
万州区常规软件开发流程报价表
软件开发的七种浪费
ppay软件开发者
连接服务器超时 代码net
简述结构化软件开发思想
北京军地联合网络技术有限公司
幼儿园网络安全展板版面布置
c 小型软件开发
模拟器脚本用什么软件开发
软件开发规划书ppt
服务器负荷可视化
企业网络安全 微盘下载
对数据库代理商表A进行备份
邮箱怎么手动配置服务器
小米音响软件开发版
万载软件开发商
网络安全隐患的表现
蔡甸区全过程网络安全维护报价表
导入数据库一样的表
sql数据库 的应用
酒店网络安全机器安装
松江区网络技术开发售后服务
银行业网络安全审计报告
阿里 网络安全 面试
服务器磁盘映射工具下载
本科有没有计算机网络技术