【技术实现步骤摘要】
基于postgreSQL客户端PSQL的数据交互方法及交互装置
本专利技术涉及数据交互
,尤其涉及一种基于postgreSQL客户端PSQL的数据交互方法及交互装置。
技术介绍
PSQL是PostgreSQL中的一个命令行交互式客户端工具,它允许交互的输入SQL命令,并把SQL命令完整的发送给PostgreSQL服务器。现有PSQL在交互模式下用户需要输入PL/SQL语法中的函数或者存储过程时有个固有规则,即必须使用美元符号或者单引号将PL过程块包裹起来。因为PSQL不兼容Oracle中的PL/SQL语法,导致应用从Oracle向PostgreSQL迁移变得如鲠在喉,徒增工作投入。
技术实现思路
本专利技术要解决的技术问题是如何提高PSQL对不同语法数据的兼容性,本专利技术提出一种基于postgreSQL客户端PSQL的数据交互方法及交互装置。根据本专利技术实施例的基于postgreSQL客户端PSQL的数据交互方法,包括:判断数据定义语句是否为PL/SQL对象数据定义语句;当所述数据定义语句不是PL/SQL对象数据定义语句时,按照SQL语法解析所述数据定义语句;当所述数据定义语句是PL/SQL对象数据定义语句时,判断所述PL/SQL对象数据定义语句是PostgreSQL语法语句还是Oracle语法语句;若是PostgreSQL语法语句,则按照PostgreSQL的预设语法解析所述数据定义语句;若是Oracle语法语句,则按Oracle的预设语 ...
【技术保护点】
1.一种基于postgreSQL客户端PSQL的数据交互方法,其特征在于,包括:/n判断数据定义语句是否为PL/SQL对象数据定义语句;/n当所述数据定义语句不是PL/SQL对象数据定义语句时,按照SQL语法解析所述数据定义语句;/n当所述数据定义语句是PL/SQL对象数据定义语句时,判断所述PL/SQL对象数据定义语句是PostgreSQL语法语句还是Oracle语法语句;/n若是PostgreSQL语法语句,则按照PostgreSQL的预设语法解析所述数据定义语句;若是Oracle语法语句,则按Oracle的预设语法解析所述数据定义语句;/n将解析后的所述数据定义语句发送至数据库。/n
【技术特征摘要】
1.一种基于postgreSQL客户端PSQL的数据交互方法,其特征在于,包括:
判断数据定义语句是否为PL/SQL对象数据定义语句;
当所述数据定义语句不是PL/SQL对象数据定义语句时,按照SQL语法解析所述数据定义语句;
当所述数据定义语句是PL/SQL对象数据定义语句时,判断所述PL/SQL对象数据定义语句是PostgreSQL语法语句还是Oracle语法语句;
若是PostgreSQL语法语句,则按照PostgreSQL的预设语法解析所述数据定义语句;若是Oracle语法语句,则按Oracle的预设语法解析所述数据定义语句;
将解析后的所述数据定义语句发送至数据库。
2.根据权利要求1所述的基于postgreSQL客户端PSQL的数据交互方法,其特征在于,所述判断数据定义语句是否为PL/SQL对象数据定义语句,包括:
识别所述数据定义语句中是否存在AS或IS关键字;
若不存在,则判定所述数据定义语句不是PL/SQL对象数据定义语句;
若存在,则根据AS或IS关键字前的字符组合判断所述数据定义语句是否为PL/SQL对象数据定义语句。
3.根据权利要求2所述的基于postgreSQL客户端PSQL的数据交互方法,其特征在于,所述根据AS或IS关键字前的字符组合判断所述数据定义语句是否为PL/SQL对象数据定义语句,包括:
识别AS或IS关键字前的字符组合是否为CREATEFUNCTION,或PROCEDURE,或PACKAGE;
若是,则判定所述数据定义语句为PL/SQL对象数据定义语句。
4.根据权利要求2所述的基于postgreSQL客户端PSQL的数据交互方法,其特征在于,所述当所述数据定义语句是PL/SQL对象数据定义语句时,则判断所述PL/SQL对象数据定义语句是PostgreSQL语法语句还是Oracle语法语句,包括:
识别AS或IS关键字后是否为字符串限定符;
若是,则判定所述数据PL/SQL对象数据定义语句为PostgreSQL语法语句;若否,则判定所述数据PL/SQL对象数据定义语句为Oracle语法语句。
5.根据权利要求1所述的基于postgreSQL客户端PSQL的数据交互方法,其特征在于,当所述语句定义语句为Oracle语法语句,按Oracle的预设语法解析所述数据定义语句时,根据所述语句定义语句中的begin和end个数关系判断是否退出Oracle的...
【专利技术属性】
技术研发人员:兰柯,苗健,卢健,
申请(专利权)人:瀚高基础软件股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。