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安全错误
数据库的锁怎样保障安全
实验室数据库的功能
外网访问内网的服务器
中公优就业网络安全培训
服务器无法扩容
数据库结果集处理
网络安全大专还用升本科吗
大数据服务器厂家排名
银行网络安全系统原则
多多直播显示服务器开小差
传达网络安全培训会议简报
金融重要时期网络安全保障
lol打游戏进不去服务器
数据库两表联查 怎么 写
湖南三德测硫仪数据库
物理数据库是什么模式
计算机网络技术学什么难学吗
网络安全窃密破坏英文
虚拟机搭建web服务器
跑数据库对服务器的要求
坚持壮大主流思想网络安全
网络安全管理师职业资格证书
dnf哪个服务器
我的世界ice游戏服务器
普联技术有限公司软件开发
苏塔恩服务器
ado访问数据库原理图
末日激斗找不到原来服务器怎么办
php字符串写入数据库
设计师网络技术部
黑板报网络安全为人民