Esse artigo faz parte da revista SQL Magazine edição 59. Clique aqui para ler todos os artigos desta edição
stração de servidores de banco de dados SQL Server em geral, o DMF. Dessa forma, pretendemos agradar aos dois perfis de profissionais que utilizam o SQL Server: o desenvolvedor e o administrador.
A primeira parte do artigo será voltada, principalmente, aos desenvolvedores que utilizam o SQL Server 2005, seja escrevendo código DML comum ou escrevendo procedures e triggers. Serão tratados aqui os principais recursos que foram adicionados à linguagem T-SQL na nova versão do SQL Server 2008. É importante ressaltar que os recursos mostrados aqui são apenas parte do conjunto de novas funcionalidades incluídas nesta versão. Para acesso à lista completa, veja o books online do SQL Server 2008.
A segunda parte trata do DMF (Declarative Management Framework), um conjunto de objetos que permitem a criação de regras que podem ser criadas e associadas, através de uma política de verificação, a determinados itens do servidor de bancos de dados. Por exemplo, através de DMF é possível garantir que todas as funções definidas pelo usuário deverão iniciar com o prefixo ‘fn’ ou que a opção autoshrink de determinado banco de dados não poderá ser habilitada.
Declaração e inicialização de variáveis locais
Tente executar o código abaixo numa sessão do Management Studio do SQL Server 2005:
declare @lit_contador int = 1
A mensagem de erro que você receberá é: "Msg 139, Level 15, State 1, Line 0 Cannot assign a default value to a local variable."
O tipo de construção acima não era válida até a versão 2008 do SQL Server. Assim como nas principais linguagens de programação, a partir desta versão, é possível a declaração e inicialização de variáveis de forma tão simples quanto no exemplo acima.
Esse é um poderoso recurso que foi adicionado à linguagem T-SQL, que em princípio pode parecer uma alteração muito simples, mas que traz muita agilidade e permite que os códigos sejam mais enxutos e limpos.
Tomemos, por exemplo, o fragmento de código mostrado na Listagem 1, que declara três variáveis inteiras e em seguida preenche cada uma delas com valores aleatórios.
Listagem 1. Declaração e inicialização de variáveis locais usando T-SQL convencional (até o SQL Server 2005).
declare @lit_x int,
@lit_y int,
@lit_z int
set @lit_x = 1
set @lit_y = 5
set @lit_z = 8
No SQL Server 2008, ele poderá ser reescrito conforme apresentado na Listagem 2.
Listagem 2. Declaração e inicialização de variáveis locais usando SQL Server 2008.
declare @lit_x int = 1,
@lit_y int = 5,
@lit_z int = 8
Operadores de atribuição composta
Esse é mais um recurso que a versão 2008 do SQL Server "toma emprestado" de linguagens de programação como .Net, C, C++ e Java. Com ele, é possível escrever linhas de código como essa:
set @lit_contador += 1
O código acima equivale a:
set @lit_contador = @lit_contador + 1
Certamente os programadores irão aderir a este novo recurso de forma imediata. Há quem acredite que os operadores de atribuição composta deixam o código menos legível. Porém, conheço desenvolvedores que gostam bastante da possibilidade de “economizar” em alguns caracteres durante o desenvolvimento de código. Gostos à parte, o fato é que a nova edição do SQL Server traz o recurso e permite que o desenvolvedor utilize-o ou não conforme seu livre arbítrio.