<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dia a dia Oracle &#187; foreign key</title>
	<atom:link href="http://www.diaadiaoracle.com.br/tag/foreign-key/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.diaadiaoracle.com.br</link>
	<description></description>
	<lastBuildDate>Thu, 08 Apr 2010 17:33:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dica: Como descobrir quem referencia uma coluna?</title>
		<link>http://www.diaadiaoracle.com.br/2010/02/11/dica-como-descobrir-quem-referencia-uma-coluna/</link>
		<comments>http://www.diaadiaoracle.com.br/2010/02/11/dica-como-descobrir-quem-referencia-uma-coluna/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 14:46:26 +0000</pubDate>
		<dc:creator>oracle</dc:creator>
				<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[distinct]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[pl/sql]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[dictionary]]></category>
		<category><![CDATA[foreign key]]></category>

		<guid isPermaLink="false">http://www.diaadiaoracle.com.br/?p=72</guid>
		<description><![CDATA[Fala PessoAll,
A dica de hoje é a respeito do seguinte&#8230;
Muitas vezes temos a necessidade de fazer algumas alterações nas nossas tabelas, nosso modelo, etc. E aí precisamos levantar quais tabelas recerenciam uma determinada tabela ou coluna, quais as filhas dessas colunas, quais as foreign key que fazem referência a elas e etc.
Aí, podemos usar o [...]]]></description>
			<content:encoded><![CDATA[<p>Fala PessoAll,</p>
<p>A dica de hoje é a respeito do seguinte&#8230;</p>
<p>Muitas vezes temos a necessidade de fazer algumas alterações nas nossas tabelas, nosso modelo, etc. E aí precisamos levantar quais tabelas recerenciam uma determinada tabela ou coluna, quais as filhas dessas colunas, quais as <b>foreign key</b> que fazem referência a elas e etc.</p>
<p>Aí, podemos usar o seguinte <b>select</b>:</p>
<p><code><br />
select distinct c.table_name<br />
  from dba_constraints  c,<br />
       dba_cons_columns cc<br />
 where c.constraint_type = 'R'<br />
   and cc.owner           = c.owner<br />
   and cc.constraint_name = c.r_constraint_name<br />
   and cc.owner           = &#038;SCHEMA<br />
   and cc.table_name      = &#038;TABELA<br />
   and cc.column_name     = &#038;COLUNA<br />
</code></p>
<p>Claro que temos que mudar os parâmetros &#038;SCHEMA, &#038;TABELA e &#038;COLUNA, para recuperar as tabelas que são filhas da tabela que você deseja.</p>
<p>Exemplo fica melhor não? Vamos lá:</p>
<p>Eu preciso descobrir quais as tabelas que fazem referência a alguma coluna da tabela <code>SOURCE</code>, para tal fazemos o seguinte <b>select</b>:</p>
<p><code><br />
SQL> select DISTINCT C.TABLE_NAME<br />
  2    from dba_constraints  c,<br />
  3         dba_cons_columns cc<br />
  4   where c.constraint_type = 'R'<br />
  5     and cc.owner           = c.owner<br />
  6     and cc.constraint_name = c.r_constraint_name<br />
  7     and cc.owner           = 'ORABUGIT'<br />
  8     and cc.table_name      = 'SOURCES'<br />
  9  /<br />
TABLE_NAME<br />
------------------------------<br />
PEOPLE_EQUIPS<br />
</code></p>
<p>Como podemos ver, obtemos como resposta a tabela <code>PEOPLE_EQUIPS</code>, portanto podemos ver que nesta tabela tem alguma coluna que referencia através de <b>foreign key</b> uma coluna da tabela <code>SOURCE</code>.</p>
<p>Espero que a dica seja útil!!</p>
<p>Abraços.</p>
<p>Atc.<br />
Gerson Júnior<br />
gerson.vasconcelos@gmail.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diaadiaoracle.com.br/2010/02/11/dica-como-descobrir-quem-referencia-uma-coluna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
