Instrução em oracle
15/09/2010
0
Bom dia, sou novo em oracle e gostaria de saber se alguém sabe o equivalente desta instrução em oracle
SELECT COLUMNPROPERTY(OBJECT_ID('DBO.logAuditoriaParametro'),'logAuditoriaParametro_ID','IsIdentity')) = 0
desde já agradeço
Marcelo Silva
Curtir tópico
+ 0
Responder
Posts
15/09/2010
Eliézio Mesquita
Boa tarde,
Caro Marcelo, diga qual resultado você deseja obter, para poder indacar qual instrução você deve usar.
Abraço,
Eliézio Mesquita
Caro Marcelo, diga qual resultado você deseja obter, para poder indacar qual instrução você deve usar.
Abraço,
Eliézio Mesquita
Responder
03/11/2010
Marcos Assumpcao
Ola Eliezio,
Se eu entendi direito, o que vc quer é identificar se uma coluna é chave primaria(PK) em uma tabela?(identy) correto?
Se for, pra identificar isso, no oracle não tem um função que eu conheça direto que retorne isto, mas vc pode montar uma funcao ou fazer uma query para descobrir se uma coluna é PK de uma tabela, pra isso vc pode usar as tabelas do dicionario de dados do Oracle:
dba_constraints
(ou user_constraints se seu usuario nao tem privilegio DBA)
Aqui nesta tabela vc identifica todas as constraints de uma tabela:
(cons.type:chave primaria=P, Chave unica=U, regra de checagem=C)
Name Null? Type
------------------------------- -------- ----
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
CONSTRAINT_TYPE VARCHAR2(1)
TABLE_NAME NOT NULL VARCHAR2(30)
SEARCH_CONDITION LONG
R_OWNER VARCHAR2(30)
R_CONSTRAINT_NAME VARCHAR2(30)
DELETE_RULE VARCHAR2(9)
STATUS VARCHAR2(8)
DEFERRABLE VARCHAR2(14)
DEFERRED VARCHAR2(9)
VALIDATED VARCHAR2(13)
GENERATED VARCHAR2(14)
BAD VARCHAR2(3)
RELY VARCHAR2(4)
LAST_CHANGE DATE
INDEX_OWNER VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
INVALID VARCHAR2(7)
VIEW_RELATED VARCHAR2(14) dba_cons_columns (Colunas que compoem a constraint encontrada na tabela acima) OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
POSITION NUMBER Ex. de query pra listar as colunas que formam a PK de uma tabela: select c1.constraint_name, c2.column_name
from dba_constraints c1, dba_cons_columns c2
where c1.constraint_name=c2.constraint_name
and c1.owner='USUARIO'
and c1.table_name='MINNHA_TABELA'
and c1.constraint_type='P';
------------------------------- -------- ----
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
CONSTRAINT_TYPE VARCHAR2(1)
TABLE_NAME NOT NULL VARCHAR2(30)
SEARCH_CONDITION LONG
R_OWNER VARCHAR2(30)
R_CONSTRAINT_NAME VARCHAR2(30)
DELETE_RULE VARCHAR2(9)
STATUS VARCHAR2(8)
DEFERRABLE VARCHAR2(14)
DEFERRED VARCHAR2(9)
VALIDATED VARCHAR2(13)
GENERATED VARCHAR2(14)
BAD VARCHAR2(3)
RELY VARCHAR2(4)
LAST_CHANGE DATE
INDEX_OWNER VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
INVALID VARCHAR2(7)
VIEW_RELATED VARCHAR2(14) dba_cons_columns (Colunas que compoem a constraint encontrada na tabela acima) OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
POSITION NUMBER Ex. de query pra listar as colunas que formam a PK de uma tabela: select c1.constraint_name, c2.column_name
from dba_constraints c1, dba_cons_columns c2
where c1.constraint_name=c2.constraint_name
and c1.owner='USUARIO'
and c1.table_name='MINNHA_TABELA'
and c1.constraint_type='P';
Responder
Clique aqui para fazer login e interagir na Comunidade :)