Tipos definidos pelo usuário CLR
Aplica-se a:SQL Server
O SQL Server oferece a capacidade de criar objetos de banco de dados que são programados em um assembly criado no CLR (Common Language Runtime) do .NET Framework. Os objetos de banco de dados que podem aproveitar o modelo de programação avançado fornecido pelo CLR incluem gatilhos, procedimentos armazenados, funções, funções agregadas e tipos.
Observação
A capacidade de executar código CLR é definida como OFF por padrão no SQL Server. O CLR pode ser habilitado usando o procedimento armazenado do sistema sp_configure
.
Você pode usar tipos definidos pelo usuário (UDTs) para estender o sistema de tipos escalares do servidor, habilitando o armazenamento de objetos CLR em um banco de dados do SQL Server. UDTs podem conter vários elementos e podem ter comportamentos, diferenciando-os dos tipos de dados de alias tradicionais que consistem em um único tipo de dados de sistema SQL Server.
Como as UDTs são acessadas pelo sistema como um todo, seu uso para tipos de dados complexos pode afetar negativamente o desempenho. Dados complexos geralmente são melhor modelados usando linhas e tabelas tradicionais. As UDTs no SQL Server são adequadas para os seguintes tipos de dados:
- Data, hora, moeda e tipos numéricos estendidos
- Aplicações geoespaciais
- Dados codificados ou encriptados
O processo de desenvolvimento de UDTs no SQL Server consiste nas seguintes etapas:
Codifique e construa o assembly que define o UDT. UDTs são definidas usando qualquer uma das linguagens suportadas pelo .NET Framework common language runtime (CLR) que produzem código verificável. Isso inclui C# e Visual Basic .NET. Os dados são expostos como campos e propriedades de uma classe ou estrutura do .NET Framework e os comportamentos são definidos por métodos da classe ou estrutura.
Registre a montagem. UDTs podem ser implantados por meio da interface do usuário do Visual Studio em um projeto de banco de dados ou usando a instrução Transact-SQL
CREATE ASSEMBLY
, que copia o assembly que contém a classe ou estrutura em um banco de dados.Crie o UDT no SQL Server. Depois que um assembly é carregado em um banco de dados host, você usa a instrução Transact-SQL CREATE TYPE para criar um UDT e expor os membros da classe ou estrutura como membros do UDT. As UDTs existem apenas no contexto de um único banco de dados e, uma vez registradas, não têm dependências nos arquivos externos a partir dos quais foram criadas.
Crie tabelas, variáveis ou parâmetros usando o UDT. Um tipo definido pelo usuário pode ser usado como a definição de coluna de uma tabela, como uma variável em um lote de Transact-SQL ou como um argumento de uma função Transact-SQL ou procedimento armazenado.
Nesta secção
Artigo | Descrição |
---|---|
Criar tipos definidos pelo usuário | Descreve como criar UDTs. |
Registrar tipos definidos pelo usuário no SQL Server | Descreve como registrar e gerenciar UDTs no SQL Server. |
Trabalhar com tipos definidos pelo usuário no SQL Server | Descreve como criar consultas usando UDTs. |
acessar tipos definidos pelo usuário no ADO.NET | Descreve como trabalhar com UDTs usando o provedor de dados .NET Framework para SQL Server no ADO.NET. |