SQL文件中的表列表
如何获得.sql文件中包含大量plsq/匿名块的所有表?理想的方法是通过数据字典获取数据,但这是不可能的,因为它们不在数据库中SQL文件中的表列表,sql,oracle,plsql,regexp-replace,regexp-substr,Sql,Oracle,Plsql,Regexp Replace,Regexp Substr,如何获得.sql文件中包含大量plsq/匿名块的所有表?理想的方法是通过数据字典获取数据,但这是不可能的,因为它们不在数据库中 我在想用正则表达式阅读本文:有人有更好的想法吗?除非您能够保证SQL采用某种格式,从而易于挑选表,否则您需要的是PLSQL/SQL词法分析器 有关详细信息,请参见: 为了说明我的观点,请举一个例子: SELECT a, b FROM tabA, tabB WHERE x = y; 如果您从[:空格:]grep'将有效| cut-d'-f2 但是,如果您有: SELEC
我在想用正则表达式阅读本文:有人有更好的想法吗?除非您能够保证SQL采用某种格式,从而易于挑选表,否则您需要的是PLSQL/SQL词法分析器 有关详细信息,请参见: 为了说明我的观点,请举一个例子:
SELECT a, b
FROM tabA, tabB
WHERE x = y;
如果您从[:空格:]grep'将有效| cut-d'-f2
但是,如果您有:
SELECT a, b
FROM tabA,
tabB
WHERE c IN ( SELECT x
FROM tabC,
tabD
.
.
然后事情会变得棘手,您需要Lex/Yacc类型的语法分析器
更新、插入、删除应该相当简单:
egrep '(UPDATE|INSERT|DELETE)[:space:]' src.sql | cut -d' ' -f2
你应该开始了
但是,一旦你有了更华丽的布局,你会发现它开始错过一些东西