› Fóruns › Banco de dados Oracle › SqlPlus › SqlPlus
[quote=”joffre”:1gnz4pxp][quote=”felipeg”:1gnz4pxp]Se for do mesmo owner é só colocar as tabelas dentro do in ou usar um subselect com todas as tabelas
SELECT Decode(Count(*), 0, 'FALSE', 1, 'TRUE')
FROM all_tables WHERE table_name IN ('NOME_DA_TABELA1' , 'NOME_DA_TABELA2', 'NOME_DA_TABELA3')
AND owner = 'OWNER DA TABELA';
/
exit
Atenciosamente,
Felipe.[/quote]
[b]Sim, é tudo do mesmo owner.
Usei o seguinte código:[/b]
SELECT DECODE(COUNT(*), 0, 'FALSE', 1, 'TRUE')
FROM all_tables WHERE table_name IN ('LGID' , 'LGCONFIGURACAO')
;
E obtive a seguinte resposta:
DECODE(COUNT(*),0,’FALSE’,1,’T
——————————
NULL1 Row(s) affected
Assim funcionou do jeito que eu preciso:
SELECT DECODE(COUNT(), 0, 'FALSE', 1, 'TRUE') FROM ALL_TABLES WHERE TABLE_NAME='LGID'
;
SELECT DECODE(COUNT(), 0, 'FALSE', 1, 'TRUE') FROM ALL_TABLES WHERE TABLE_NAME='LGCONFIGURACAO'
;
[b]Retornou 2 TRUEs, que é o que eu preciso. Mas o problema ainda é fazer o SQLPLUS ler um arquivo .sql e gerar o LOG da mesma forma.
Coloquei o código acima dentro de um arquivo.sql e tentei executá-lo, mas o LOG continua saindo com uns números estranhos como postado anteriormente ao invés de sair o resultado da consulta.[/b]
Alguma idéia de como fazer para sair certo?[/quote]
Olá,
Primeiramente peço desculpas pelo select com IN, não irá funcionar mesmo.
Segundo, sobre a geração do log, fiz a mesma coisa aqui e o output do arquivo foi esse.
SQL*Plus: Release 10.2.0.3.0 - Production on Wed Jun 1 11:28:31 2011
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected.
DECOD
TRUE
DECOD
FALSE
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
O que tem dentro desse seu sql? o meu está assim
conn usuario/senha@instancia
SELECT DECODE(COUNT(), 0, 'FALSE', 1, 'TRUE') FROM ALL_TABLES WHERE TABLE_NAME=
'AIDF'
/
SELECT DECODE(COUNT(), 0, 'FALSE', 1, 'TRUE') FROM ALL_TABLES WHERE TABLE_NAME=
'TESTE'
/
exit
Atenciosamente,
Felipe.