我有一个.sql
文件,其中包含多个SQL语句。我需要遍历每条语句并从Perl脚本执行它们。问题是SQL语句是多行语句,它们包含注释。使用perl脚本遍历.sql文件并执行其中的每条语句
到目前为止,我们手动使用了sqlplus
命令。但是现在我们需要将其自动化以执行每一个陈述并捕捉每个陈述的成功或失败。如果语句失败,我需要停止执行该文件中的SQL语句。据我所知,这是不可能的,sqlplus
;它会在其中一条语句失败后继续执行剩余的语句。
的.sql
文件看起来如下....
--Add new columns to TABLE_NAME table
ALTER TABLE "DATA"."TABLE_NAME" ADD(NAME varchar2(30));
--Create new table FILE_4G_TABLE
CREATE TABLE "DATA"."FILE_4G_TABLE"
(
abc VARCHAR2(30 CHAR),
def NUMBER(38),
ghi NUMBER,
JKL VARCHAR(32)
CONSTRAINT "FILE_4G_TABLE" PRIMARY KEY ("abc")) TABLESPACE "DATA";
有人,请指导我。
所以你想解析SQL。试试[SQL :: Statement](http://search.cpan.org/perldoc?SQL::Statement)。 – ikegami
正在使用什么风格的SQL? (对于哪个数据库服务器?) – ikegami
oracle数据库。我正在使用DBI。 –