Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 从未格式化的文本文件中提取语句_Oracle - Fatal编程技术网

Oracle 从未格式化的文本文件中提取语句

Oracle 从未格式化的文本文件中提取语句,oracle,Oracle,我有一个文本PL/SQL文件,语句之间没有任何分隔符。我需要找到它们之间没有特定分隔符的语句 例如,我有两个这样的语句 ALTER TABLE XXX ADD XX NUMBER(4) CREATE INDEX XXX ON XX( XXX ASC ) TABLESPACE %IDX% 这个问题与人为错误有关,我需要消除人为错误 我期待这样的结果 ALTER TABLE XXX ADD XX NUMBER(4) CREATE INDEX XXX ON XX( XXX ASC ) T

我有一个文本PL/SQL文件,语句之间没有任何分隔符。我需要找到它们之间没有特定分隔符的语句

例如,我有两个这样的语句

ALTER TABLE XXX ADD XX NUMBER(4)
CREATE INDEX XXX ON XX(
   XXX ASC
) TABLESPACE %IDX%
这个问题与人为错误有关,我需要消除人为错误

我期待这样的结果

ALTER TABLE XXX ADD XX NUMBER(4)
CREATE INDEX XXX ON XX(
   XXX ASC
) TABLESPACE %IDX%
  • 报表一 更改表XXX添加XX编号(4)/
  • 报表二 在XX(XXX ASC)表空间%IDX%上创建索引XXX/

  • 是否有任何框架应用程序。。。为了这个

    我迷路了。您的代码不是T-SQL。它看起来像Oracle代码。你真正使用的是什么数据库?请正确标记。这听起来像是你在说你有一个包含其他内容的文本文件,你想自动检测该文件中的任何SQL语句,并根据(Oracle)SQL实例自动执行这些语句。那些“自动控制”的东西被称为人类,他们需要读取文件,提取出相关的行,然后将它们放入格式良好的sql文件中,然后将其另存为
    .sql
    ,并在sql命令提示符下或
    sql developer
    中作为脚本执行。对于一次性任务,sql developer或sql*Plus是针对服务器运行命令集的常用工具。如果您需要重复读取文件、拆分命令并一次运行它们,比如构建自己的SQL FIDLE,那么请查看我的开源程序。自述文件中的复杂示例显示了一个相关示例。但无论使用什么工具,语句之间都需要预定义分隔符,通常是
    和PL/SQL后面的
    /
    。请编辑您的问题并添加更多关于您需要的详细信息。Jon Heller谢谢,您的程序非常棒。但我认为,它用分隔符分隔语句,对吗?我的问题又回到了人类的错误上,我想把它消除。