Usuário com melhor resposta
Como descobrir qual campo é o campo primary key das tabelas de meu BD?

Pergunta
-
Olá pessoal,
Estou tentando montar uma query que me retorne todas tabelas do meu BD juntamente com os campos que são primary key.
Tentei dar um select na tabela sysobjects e relacionar com a sys.key_constraints, mas não consegui encontrar nada.
A INFORMATION_SCHEMA.KEY_COLUMN_USAGE até me retorna os campos com tabelas e campos que são código, só que ele me retorna até as FK, isso não teria tanto problema, pois eu conseguiria tratar via código, mas eu gostaria de saber se tem como retornar isso de forma mais efeitva. Sem precisar fazer tratamentos via código para descobrir se o registro selecionado é PK ou FK.Agradeço desde já!
Respostas
-
Tente desta forma:
SELECT table_name AS TABELA, column_name AS COLUNA FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE OBJECTPROPERTY(OBJECT_ID(constraint_name), 'IsPrimaryKey') = 1
Leonardo D'Amato
- Marcado como Resposta Thiago Derissi Poderoso segunda-feira, 7 de outubro de 2013 11:44
Todas as Respostas
-
Tente desta forma:
SELECT table_name AS TABELA, column_name AS COLUNA FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE OBJECTPROPERTY(OBJECT_ID(constraint_name), 'IsPrimaryKey') = 1
Leonardo D'Amato
- Marcado como Resposta Thiago Derissi Poderoso segunda-feira, 7 de outubro de 2013 11:44
-
-