Fala galera,
Gostaria de importar uns dados porém estou na dúvida se a "tabela" que efetuei a consulta é uma tabela ou uma visão. Tem como identificar se um "tabela" é uma tabela ou uma visão?
Tabela ou Visão?
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, beleza?
Usa este script abaixo, trocando o nome entre aspas, pelo nome do teu objeto:
qualquer coisa, manda ai.
Usa este script abaixo, trocando o nome entre aspas, pelo nome do teu objeto:
SELECT OBJECT_TYPE
FROM USER_OBJECTS -- OU ALL_OBJECTS
WHERE OBJECT_NAME = 'TEU_OBJETO';
-
- Rank: DBA Sênior
- Mensagens: 365
- Registrado em: Ter, 24 Mai 2005 2:24 pm
- Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
Araraquara - SP
Não, o synonym funciona como se fosse um "apelido" pra algum outro objeto, objeto que pode ser ou não de outro owner da sua base..
pra saber a origem desse objeto consulte dos dados dele..
ele vai te informar quem é o owner e o nome do objeto original, ai com esses dados verifique se o original é uma table ou uma view utilizando o exemplo que o Trevisolli passou..
[]'s
pra saber a origem desse objeto consulte dos dados dele..
SELECT *
FROM all_synonyms
WHERE synonym_name = 'SUA_TABELA'
[]'s
-
- Rank: Analista Júnior
- Mensagens: 77
- Registrado em: Qua, 05 Dez 2007 10:51 am
- Localização: Fortaleza - CE
então, fiz a consulta e apareceu o seguinte
OWNER, SYNONYM_NAME, TABLE_OWNER, TABLE_NAME, DB_LINK
no caso o objeto que consultei 'FORNEC' está com o mesmo nome tanto para o SYNONYM_NAME como para TABLE_NAME.
o seguinte raciocínio é correto:
Todo objeto que estiver relacionado no campo TABLE_NAME é uma tabela? e nunca um visão aparecerá em TABLE_NAME?
Valeu a ajuda.
OWNER, SYNONYM_NAME, TABLE_OWNER, TABLE_NAME, DB_LINK
no caso o objeto que consultei 'FORNEC' está com o mesmo nome tanto para o SYNONYM_NAME como para TABLE_NAME.
o seguinte raciocínio é correto:
Todo objeto que estiver relacionado no campo TABLE_NAME é uma tabela? e nunca um visão aparecerá em TABLE_NAME?
Valeu a ajuda.
-
- Rank: DBA Sênior
- Mensagens: 365
- Registrado em: Ter, 24 Mai 2005 2:24 pm
- Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
Araraquara - SP
E o owner do objeto, é o mesmo?
Sobre o campo table_name da all_synonyms, apesar do nome do campo ser TABLE_NAME é possível você ter nesse campo o nome de uma view tb.
[]'s
Sobre o campo table_name da all_synonyms, apesar do nome do campo ser TABLE_NAME é possível você ter nesse campo o nome de uma view tb.
[]'s
-
- Rank: Analista Júnior
- Mensagens: 77
- Registrado em: Qua, 05 Dez 2007 10:51 am
- Localização: Fortaleza - CE
o select que utilizei é esse:
o resultado foi esse:
SELECT * FROM USER_OBJECTS WHERE OBJECT_NAME = 'FORNEC'
From: <Salvo pelo Microsoft Internet Explorer 7>
Subject:
Date: Wed, 5 Dec 2007 14:48:29 -0300
MIME-Version: 1.0
Content-Type: text/html;
charset="Windows-1252"
Content-Transfer-Encoding: 7bit
Content-Location: =?Windows-1252?Q?file://C:\Documents_and_Settings\u012215.M01AUD0149\Conf?=
=?Windows-1252?Q?igura=E7=F5es_locais\Temp\SQLT0005.HTM?=
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.6000.16544" name=GENERATOR></HEAD>
<BODY>
<TABLE cellSpacing=0 cellPadding=1 border=1>
<TBODY>
<TR>
<TH>OBJECT_NAME</TH>
<TH>SUBOBJECT_NAME</TH>
<TH>OBJECT_ID</TH>
<TH>DATA_OBJECT_ID</TH>
<TH>OBJECT_TYPE</TH>
<TH>CREATED</TH>
<TH>LAST_DDL_TIME</TH>
<TH>TIMESTAMP</TH>
<TH>STATUS</TH>
<TH>TEMPORARY</TH>
<TH>GENERATED</TH>
<TH>SECONDARY</TH></TR>
<TR>
<TD>FORNEC</TD>
<TD> </TD>
<TD align=right>5089671</TD>
<TD align=right> </TD>
<TD>SYNONYM</TD>
<TD>27/08/07</TD>
<TD>17/09/07</TD>
<TD>2007-09-17:10:35:56</TD>
<TD>VALID</TD>
<TD>N</TD>
<TD>N</TD>
<TD>N</TD></TR></TBODY></TABLE></BODY></HTML>
-
- Rank: Analista Júnior
- Mensagens: 77
- Registrado em: Qua, 05 Dez 2007 10:51 am
- Localização: Fortaleza - CE
Rapaz, mais um vez valeu mesmo, tabela muito importante essa
gerei a consulta e apareceu no campo TEXT o seguinte:
Só fiquei com a seguinte dúvida não encontrei o objeto Saldo_Atual especificado no select abaixo;
gerei a consulta e apareceu no campo TEXT o seguinte:
Só fiquei com a seguinte dúvida não encontrei o objeto Saldo_Atual especificado no select abaixo;
Select Saldo_Atual.cd_contagem
, Saldo_Atual.dt_contagem
, Saldo_Atual.hr_contagem
, Saldo_Atual.dt_geracao
, Saldo_Atual.hr_geracao
, Saldo_Atual.cd_produto
, Saldo_Atual.Qt_estoque
, Saldo_Atual.Qt_estoque_doado
, Saldo_Atual.vl_custo_medio
, Nvl(Saldo_Anterior.qt_anterior, 0) Qt_Anterior
, Nvl(Saldo_Anterior.qt_anterior_doado, 0) Qt_Anteior_Doado
, Saldo_Atual.ds_unidade
From (
Select contagem.cd_contagem
, contagem.dt_contagem
, contagem.hr_contagem
, contagem.dt_geracao
, contagem.hr_geracao
, itcontagem.cd_produto
, Sum(itcontagem.qt_estoque * uni_pro.vl_Fator) qt_estoque
, Sum(itcontagem.qt_estoque_doado * uni_pro.vl_fator) qt_estoque_doado
, avg(itcontagem.vl_custo_medio / uni_pro.vl_fator ) vl_custo_medio
, 0 qt_anterior
, 0 qt_anterior_doado
, uni_pro.ds_unidade
From Dbamv.Contagem
, Dbamv.ItContagem
, Dbamv.Uni_Pro
Where Contagem.Cd_Contagem = ItContagem.Cd_Contagem
And ItContagem.Cd_Uni_Pro = Uni_Pro.Cd_Uni_Pro
Group By Contagem.Cd_Contagem
, contagem.Dt_Contagem
, contagem.Hr_Contagem
, contagem.Dt_Geracao
, contagem.Hr_Geracao
, itcontagem.Cd_Produto
, Uni_Pro.Ds_Unidade
) Saldo_Atual
, (
Select Copia_Estoque.Cd_Contagem
, Null dt_contagem
, Null hr_contagem
, Null dt_geracao
, Null hr_geracao
, Copia_Estoque.cd_produto
, 0 qt_estoque
, 0 qt_estoque_doado
, 0 vl_custo_medio
, Sum(Copia_Estoque.Qt_Estoque) qt_anterior
, Sum(Copia_Estoque.Qt_Estoque_Doado) qt_anterior_doado
, Null ds_unidade
From Dbamv.Copia_Estoque
Group By Copia_Estoque.Cd_Contagem
, Copia_Estoque.cd_produto
) Saldo_Anterior
Where Saldo_Atual.Cd_Contagem = Saldo_Anterior.Cd_Contagem(+)
And Saldo_Atual.Cd_Produto = Saldo_Anterior.Cd_Produto(+)
-
- Rank: DBA Sênior
- Mensagens: 365
- Registrado em: Ter, 24 Mai 2005 2:24 pm
- Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
Araraquara - SP
Nesse caso o "Saldo_Atual" não é um objeto do seu banco, ele é um "alias" pra um trecho do seu select... vai um exemplo do que foi feito na sua consulta.
como você pode ver a clausua from não é uma tabela em especifico, e sim o resultado de um select, resultado que pode ter o alias que você quiser..
[]'s
SELECT Saldo_Atual.*
FROM (SELECT SYSDATE
FROM DUAL) Saldo_Atual
[]'s
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes