You are here

[SQL Server] Listando tabelas com e sem chaves primarias

Tweet me!

Olá a todos,

Abaixo temos duas consultas de SQL Server, para identificar tabelas que possuem e não possuem chaves primarias.

Essa primeira consulta, retornar todas as tabelas que possuem chave primaria.

select

sc.name as 'Schema',kc.name as 'Nome PK',tb.name as 'Tabela'

from sys.key_constraints kc

inner join sys.tables tb

on kc.parent_object_id = tb.object_id

inner join sys.schemas sc

on kc.schema_id = sc.schema_id

where

kc.type = 'PK'

Com essa segunda consulta podemos identificar todas as tabelas que não possuem chaves primarias, em uma tabelas, as chaves primarias são extremamente importantes, ela se refere a um identificador único do registro que não se repete, é usado para localizar valores em uma tabela.

select

sc.name as 'Schema',tb.name as 'Tabela'

from

sys.tables tb

inner join sys.schemas sc on tb.schema_id = sc.schema_id

where tb.type = 'U'

and not exists(

SELECT

kc.name

from sys.key_constraints kc

where kc.parent_object_id = tb.object_id

and kc.schema_id = sc.schema_id

and kc.type = 'PK'

)

Até a próxima

Thiago Silva Santos

DBA SQL Server

Microsoft Certified Professional

 

 

Comentários
Adicionar novo Busca RSS
Escrever um comentário
Nome:
E-mail:
 
Título:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0
:confused::cheer:
B):evil:
:silly::dry:
:lol::kiss:
:D:pinch:
:(:shock:
:X:side:
:):P
:unsure::woohoo:
:huh::whistle:
;):s
:!::?:
:idea::arrow:
 
Por favor coloque o código anti-spam que você lê na imagem.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."