Descobrindo o nome e o tipo de um User-Defined Type

Semana passada um amigo me questionou sobre como descobrir o nome e o tipo de uma User-Defined Type.

Para deixar registrado a tabela é a sys.systypes. Veja a query abaixo:

SELECT  name nometipo,
        xusertype idtipo,
        length tamanho
FROM    sys.systypes

Essa query retorna o nome do UDT, id e o comprimento do campo. Contudo se necessitarmos o campo físico de origem podemos criar um join entre a tabela com ela mesma utilizando o campo type. Veja a query.

SELECT  a.name nometipo ,
        a.xusertype idtipo ,
        a.length tamanho ,
        b.name nomefisico
FROM    sys.systypes a
        INNER JOIN VNDM.sys.systypes b ON a.type = b.type

Concluindo espero que esses dois scripts sejam uteis para futuras manutenções e obrigado aos amigos que mandam dúvidas.

Abraço, Rodrigo.

Autor: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s