python 文件 解析ddl_使用python中的cx_Oracle使用PL / SQL和DML / DDL解析SQL文件
可以同时执行多个语句,但它是半hacky.您需要包装语句并一次执行一个语句.
>>> import cx_Oracle
>>>
>>> a = cx_Oracle.connect('schema/pw@db')
>>> curs = a.cursor()
>>> SQL = (("""create table tmp_test ( a date )"""),
... ("""insert into tmp_test values ( sysdate )""")
... )
>>> for i in SQL:
... print i
...
create table tmp_test ( a date )
insert into tmp_test values ( sysdate )
>>> for i in SQL:
... curs.execute(i)
...
>>> a.commit()
>>>
正如您所指出的,这并不能解决分号问题,因为没有简单的答案.在我看来,你有3个选择:
>编写一个过于复杂的解析器,我认为这根本不是一个好选择.
>不要从Python执行SQL脚本;将代码放在单独的SQL脚本中,以便解析很容易,在单独的Python文件中,嵌入在Python代码中,在数据库中的过程中…等等.这可能是我的首选选项.
>使用子进程并以这种方式调用脚本.这是最简单,最快捷的选项,但根本不使用cx_Oracle.
>>> import subprocess
>>> cmdline = ['sqlplus','schema/pw@db','@','tmp_test.sql']
>>> subprocess.call(cmdline)
SQL*Plus: Release 9.2.0.1.0 - Production on Fri Apr 13 09:40:41 2012
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
SQL>
SQL> CREATE TABLE FOO(id number);
Table created.
SQL>
SQL> BEGIN
2 INSERT INTO FOO VALUES(1);
3 INSERT INTO FOO VALUES(2);
4 INSERT INTO FOO VALUES(3);
5 END;
6 /
PL/SQL procedure successfully completed.
SQL> CREATE TABLE BAR(id number);
Table created.
SQL>
SQL> quit
Disconnected from Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
0
>>>
python 文件 解析ddl_使用python中的cx_Oracle使用PL / SQL和DML / DDL解析SQL文件相关推荐
- hosts文件的作用以及hosts中多个ip映射一个域名地址的解析顺序
hosts的作用: 当我们访问网站时,要首先通过DNS服务器把网络域名(www.xx.com)解析成IP地址,我们的计算机才能访问.如果对于每个域名请求我们都要等待域名服务器解析后返回IP信息,这 ...
- python编写脚本替换 jar包文件_shell-替换jar包中配置文件脚本
脚本运行平台:centos7.3 1.编写脚本 vi /tmp/change.sh #!/bin/bash #需要替换的包名称 bmc=$1 #需要替换的文件名称 hhwjmc=$2 #找到替换文件路 ...
- python操作json_如何使用Python处理JSON数据
如何使用Python处理JSON数据?本篇文章就给大家介绍使用Python处理JSON数据的基本方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 在介绍使用Python处理JSO ...
- python实战:22个Python迷你项目(附源码)【建议收藏】
在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...
- python cron_你应该使用 Python 管理 Cron 作业
在本教程中,你将了解 cron 作业的重要性以及为什么需要它们.你可以看一下 python-crontab,这是一个与 crontab 交互的 Python 模块.你将学习如何使用 python-cr ...
- win10无法装载iso文件_在Win10系统中如何装载ISO镜像文件?
windows 10系统在默认未解压的状态下是以iso格式存在的镜像文件.在Win10系统中该如何装载win10系统的镜像呢?一般来说iso文件都是在DVD光盘中的文件,但大多数的用户都已经不适用DV ...
- 将SQL Server表导出为txt文件
方法-:用BCP命令 bcp 实用工具 Sqlclub.cn bcp 实用工具在 Microsoft® SQL Server™ 2000 实例和数据文件之间以用户指定的格式复数据. 语法 Sqlclu ...
- python中返回上一步操作_通过实例解析Python文件操作实现步骤
当程序运行时,变量是保存数据的好方法,但变量.序列以及对象中存储的数据是暂时的,程序结束后就会丢失,如果希望程序结束后数据仍然保持,就需要将数据保存到文件中. Python 提供了内置的文件对象,以及 ...
- python中json模块_Python使用内置json模块解析json格式数据的方法
本文实例讲述了Python使用内置json模块解析json格式数据的方法.分享给大家供大家参考,具体如下: Python中解析json字符串非常简单,直接用内置的json模块就可以,不需要安装额外的模 ...
最新文章
- 知乎高赞:OracleJDK和OpenJDK有什么区别?网友:不愧是大神的回答~
- 小端字节序与大端字节序
- 2020-11-23(彻底理解KMP)
- Xamarin.Forms教程Android SDK工具下载安装
- C# #if, #else和#endif预处理指令
- PDB调试Python程序
- 模式识别中的特征提取及其内在意义
- java link 使用_Java数据结构之简单的连接点(link)实现方法示例
- ffmpeg添加到环境变量_在 Mac 上为 FFmpeg 配置环境变量
- 拓端tecdat|Python中的多项式回归拟合非线性关系实例
- springboot test
- 圆柱体积计算机公式,圆柱体积计算公式
- ICP(Iterative Closest Point)算法和Umeyama算法
- 漫画:从今天开始,我不再买书了!
- 科技圈以 A 取名的时尚潮流
- 为设计师写的色彩对比指南,让你真正了解色彩对比
- MacBook键盘锁定、按键失效问题
- Java 应用结构规范
- AmchartsJS版设置属性/方法总结
- 一个商品SKU是怎么生成的 1
热门文章
- Python 中print 和return 的区别
- Python中的构造方法
- 错误三次无法输入c语言,不懂就问,为啥错误输入三次不停止呢
- linux进程VSZ(虚拟内存)
- armel、armhf、arm64、armv7l 系统架构区别与联系(AArch64)
- python struct.pack()函数 (返回一个字节对象,其中包含根据格式字符串fmt打包的值v1,v2,...)
- Python 计算机视觉(二) —— OpenCV 基础
- Java多线程、高并发秒杀时MySQL出现死锁原因(Deadlock found when trying to get lock)及对应解决方案
- Spring重写BeanDefinitionRegistryPostProcessors进行扩展
- redhat php5 安装,完整的linux(RedHat)+php5.3.10+mysql5.5.19+apache2.2.22安装配置说明