Oracle vs PostgreSQL Develop(25) - plsql vs plpgsql(语法严谨性)
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,Oracle的SQL和PL/SQL语法相对宽松,而PostgreSQL则相对严格一些。在PL/SQL中,某些语句后可以不加分号,而PG则要求必须加分号。Oracle创建存储过程,loop不管加不加分号
千家信息网最后更新 2024年11月22日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安全错误
数据库的锁怎样保障安全
数据库和服务器联系
网络安全和信息化建设专项审计
烟台系统软件开发公司都有哪些
vb怎么添加sql数据库
能够运行数据库的笔记本
重庆服务器电源哪家便宜
遵化软件开发者
node 关闭服务器
软件开发综述
互联网数据中心网络安全
刘国钧计算机网络技术多少分
骑马与砍杀2没有服务器
软件开发5年后还能考研吗
app软件开发工程师简历
软件开发总体设计主要内容
创建数据库和表使用sql
江西网络技术转让活动简介
部署服务器什么意思
电子资源数据库厂家
网络安全防范技巧
福建app订制软件开发
数据库实现的核心技术是什么
金蝶数据库可以恢复吗
服务器推送
分布式数据库导出工具
关系型数据库横向扩展优缺点
三国志战略版私人服务器
网络安全性的指标
逆战网络技术
数据库2005备份恢复