Fórum Selecionar Colunas no Metadados #361650
25/07/2008
0
select rdb$relation_fields.rdb$relation_name,
rdb$relation_fields.rdb$field_name,
case
when rdb$types.rdb$type_name = ´VARYING´ then ´VARCHAR´
else rdb$types.rdb$type_name
end field_type,
rdb$fields.rdb$field_length
from rdb$relation_fields
join rdb$fields
on rdb$fields.rdb$field_name =
rdb$relation_fields.rdb$field_source
join rdb$types
on rdb$fields.rdb$field_type = rdb$types.rdb$type and
rdb$types.rdb$field_name = ´RDB$FIELD_TYPE´
where (substring(rdb$relation_fields.rdb$relation_name from 1 for 4) <>
´RDB$´) and (RDB$RELATION_NAME=:id_tabela)
order by rdb$relation_fields.rdb$relation_name
Onhide86
Curtir tópico
+ 0Posts
25/07/2008
Thomaz_prg
Gostei + 0
25/07/2008
Onhide86
Valeu, abraço.
Gostei + 0
25/07/2008
Thomaz_prg
rdb$relation_fields.rdb$field_name,
case
when rdb$types.rdb$type_name = ´VARYING´ then ´VARCHAR´
else rdb$types.rdb$type_name
end field_type,
rdb$fields.rdb$field_length,
[b:9aee759128]coalesce( rdb$relation_fields.rdb$null_flag, 0) AS NAO_NULAVEL[/b:9aee759128]
from rdb$relation_fields
join rdb$fields
on rdb$fields.rdb$field_name =
rdb$relation_fields.rdb$field_source
join rdb$types
on rdb$fields.rdb$field_type = rdb$types.rdb$type and
rdb$types.rdb$field_name = ´RDB$FIELD_TYPE´
where (substring(rdb$relation_fields.rdb$relation_name from 1 for 4) <>
´RDB$´) and (RDB$RELATION_NAME=:id_tabela)
order by rdb$relation_fields.rdb$relation_name
Se o campo Nao_Nulavel for 1, é pq o campo é ´not null´
Gostei + 0
25/07/2008
Onhide86
Gostei + 0
25/07/2008
Thomaz_prg
coalesce( rdb$relation_fields.rdb$null_flag, 0) AS NAO_NULAVEL
Por
case when coalesce( rdb$relation_fields.rdb$null_flag, 0) = 1 THEN ´NOT ´ ELSE ´´ END||´NULL´ AS NAO_NULAVEL
Gostei + 0
26/07/2008
Onhide86
Gostei + 0
27/07/2008
Onhide86
Valeu.
Gostei + 0
27/07/2008
Thomaz_prg
Gostei + 0
27/07/2008
Onhide86
Gostei + 0
27/07/2008
Thomaz_prg
rdb$relation_fields.rdb$field_position as posicao_campo
Gostei + 0
27/07/2008
Onhide86
Gostei + 0
27/07/2008
Thomaz_prg
rdb$relation_fields.rdb$field_name,
case
when rdb$types.rdb$type_name = ´VARYING´ then ´VARCHAR´
else rdb$types.rdb$type_name
end field_type,
rdb$fields.rdb$field_length,
case when coalesce( rdb$relation_fields.rdb$null_flag, 0) = 1 THEN ´NOT ´ ELSE ´´ END||´NULL´ AS NAO_NULAVEL,
[b:fd2dcb0f3b]rdb$relation_fields.rdb$field_position as posicao_campo[/b:fd2dcb0f3b]
from rdb$relation_fields
join rdb$fields
on rdb$fields.rdb$field_name =
rdb$relation_fields.rdb$field_source
join rdb$types
on rdb$fields.rdb$field_type = rdb$types.rdb$type and
rdb$types.rdb$field_name = ´RDB$FIELD_TYPE´
where (substring(rdb$relation_fields.rdb$relation_name from 1 for 4) <>
´RDB$´) and (RDB$RELATION_NAME=:id_tabela)
order by rdb$relation_fields.rdb$relation_name
Seu select ficou assim?
Gostei + 0
27/07/2008
Onhide86
Gostei + 0
02/08/2008
Onhide86
tenho o seguinte select:
SELECT RDB$INDEX_NAME ChaveEstrangeira, RDB$FOREIGN_KEY
Campo, RDB$RELATION_NAME Tabela FROM RDB$INDICES
WHERE RDB$UNIQUE_FLAG IS NULL
AND RDB$FOREIGN_KEY IS NOT NULL
Ele me retorna as chaves estrangeiras, mas esta faltando um campo o campo que recebe essa chave estrangeira, vc consegue incluir este campo que esta fantando ai nesse select para mim?, valeu ai se puder me ajudar, desde já agradeço, abraço.
Gostei + 0
29/08/2008
Álison Bissoli
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)