我怎样才能摆脱“多重”呢;不象;Oracle SQL中的子句?
我有一个查询,其中我获取数据库中表的DDL 有外部挂载的表、临时表和其他我不需要这些信息的表,所以我有像,我怎样才能摆脱“多重”呢;不象;Oracle SQL中的子句?,sql,oracle,Sql,Oracle,我有一个查询,其中我获取数据库中表的DDL 有外部挂载的表、临时表和其他我不需要这些信息的表,所以我有像,…其中object\u name不像'ext\u%'…这样的子句,但我有六个这样的子句 是否有某种方法可以将它们组合起来,这样我就可以做一些类似于…其中object\u name不喜欢in(EXT\uu%,TMP\uu%,…) 有点像你可以这样说,…id在(1,2,3)中的位置可能与regexp\u类似 大概是这样的: 。。。在不喜欢regexp的地方(对象名'EXT\.*TMP\..*T
…其中object\u name不像'ext\u%'…
这样的子句,但我有六个这样的子句
是否有某种方法可以将它们组合起来,这样我就可以做一些类似于…其中object\u name不喜欢in(EXT\uu%,TMP\uu%,…)
有点像你可以这样说,…id在(1,2,3)中的位置
可能与regexp\u类似
大概是这样的:
。。。在不喜欢regexp的地方(对象名'EXT\.*TMP\..*TMP\..*XXX…')如果它们都是模式XXX,您可以去掉前四个字符并使用not in('EXT|','TMP|' 或者,也许有一张小桌子,里面放着他们,然后做一个外部连接 另一个选择可能是 不像“[ET][XM][TP]u%” 但这不是很容易理解 PS假定您正在转义下划线,因为它是任何单个字符。这是什么呢:
...
WHERE SUBSTR(object_name, 1, 4) NOT IN ('EXT_', 'TMP_', ...)
这正是我要找的。谢谢!呃,不幸的是,这并没有像它应该的那样过滤掉表。我将继续摆弄它,因为它是我想象的解决方案的样子…@phileas fogg,IMHO这是在Oracle中做这件事的正确方法,唯一的事情是编写正确的正则表达式,如果你需要的话我们会给我们字符串,你看起来就像我们会地狱你描述正确的regexp