Estou faltando algo na minha consulta. Eu quero selecionar todas as tabelas de dba_tables, exceto uma lista de tabelas.
Por exemplo, mostre todos, exceto HR.DEPT, SCHEMA.TAB
dba_tables:
OWNER TABLE_NAME
------ ----------
HR DEPT
HR TEST
SCHEMA TAB
SCHEMA NAMES
TEM TBA
Resultado após a consulta:
OWNER TABLE_NAME
------ ----------
HR TEST
SCHEMA NAMES
TEM TBA
Consulta que tentei:
select owner, table_name from dba_tables
where (owner != 'HR' and table_name != 'DEPT' ) OR (owner != 'SCHEMA' and table_name != 'TAB' )
O problema é seu
OR
. Quando a tabela éDEPT
doHR
esquema, a primeiraAND
condição é falsa, mas a 2ªAND
condição é verdadeira, assim osOR
resultados são verdadeiros e nenhuma linha é filtrada.Tente com
NOT
+AND
: