Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo da SQL Magazine 41 - Novidades no Transact-SQL
Artigo da SQL Magazine - edição 41.
Clique aqui para ler todos os artigos desta edição
Novidades no Transact-SQL
Conheça algumas das novidades dessa linguagem no SQL Server 2005
Com a integração do SQL Server 2005 e o .NET Framework, permitindo aos desenvolvedores criar objetos de banco de dados utilizando linguagens como VB.NET, C# e outras, muitos desenvolvedores e DBAs chegaram a questionar se a linguagem Transact-SQL (conhecida também como T-SQL) estaria morrendo.
A linguagem Transact-SQL é uma extensão da Microsoft ao padrão SQL-92 e adiciona melhorias e recursos que fazem dela uma linguagem de acesso e manipulação de dados eficiente, robusta, segura e exclusiva do SQL Server. Ela é a linguagem primária de acesso a dados utilizada por uma aplicação para acessar e manipular dados e objetos em um banco de dados SQL Server.
A grande verdade é que no SQL Server 2005 a linguagem Transact-SQL está mais forte que nunca. Novos recursos e melhorias foram introduzidos ao Transact-SQL permitindo aumentar significativamente a produtividade no desenvolvimento e principalmente a performance de suas queries.
Neste artigo, falarei sobre algumas das novidades e melhorias introduzidas ao T-SQL do SQL Server 2005, como, a nova cláusula EXECUTE AS que permite definir o contexto de execução de procedures, triggers e funções, os novos recursos da cláusula TOP, as novas Common Table Expressions (CTEs) que podem ser usadas no lugar das tabelas derivadas ou tabelas temporárias, a nova construção TRY/CATCH que simplifica muito o tratamento de erros em códigos T-SQL e as melhorias para os tipos de dados VARCHAR, NVARCHAR e VARBINARY que com a inclusão da especificação MAX simplifica o trabalho com dados do tipo texto e imagem.
A linguagem Transact-SQL
A linguagem Transact-SQL é a linguagem primária de acesso a dados utilizada por uma aplicação para acessar e manipular dados e objetos em um banco de dados SQL Server. Toda aplicação que se comunica com o SQL Server, faz isso enviando instruções Transact-SQL para o servidor.
A linguagem SQL, comumente referenciada como padrão SQL ANSI/ISO e administrada pelo National Committee on Information Technology Standards (NCITS), é a linguagem universal utilizada pelos SGBDs para acessar e manipular dados e objetos em um banco de dados. No entanto, como os fabricantes estão livres para fazer suas próprias adaptações, esta possui vários “dialetos”. Muitos SGBDs, entre eles o SQL Server, utilizam o mesmo tipo de dialeto como sua linguagem primária de acesso a dados. O padrão SQL possui várias versões (cada uma tendo o ano em que foi adotada), e o padrão SQL-92 (adotado em 1992) é o mais aceito entre os SGBDs.
O SQL Server possui seu próprio “dialeto” da linguagem SQL – o Transact-SQL (T-SQL). Ou seja, a linguagem Transact-SQL segue o padrão SQL-92, mas adiciona alguns atributos (ou funcionalidades) que a tornam exclusiva ao SQL Server. Por exemplo, a cláusula TOP em um comando SELECT só existe no Transact-SQL. Se você pegar a instrução a seguir e executá-la no MySQL, verá que esta gerará um erro.
SELECT TOP 10 * FROM <tabela>
Isto acontece porque a cláusula TOP só existe na linguagem Transact-SQL, que é exclusiva do SQL Server. A instrução correspondente para o MYSQL seria:
SELECT * FROM <tabela> LIMIT 10
Você usa o T-SQL para criar, alterar e excluir objetos, bem como para inserir ou consultar dados em um banco de dados SQL Server. Por exemplo, quando você escreve uma procedure no Query Analyzer, você está usando a linguagem Transact-SQL. Quando você usa os comandos CREATE TABLE, CREATE VIEW, CREATE PROCEDURE ou manipula dados em um banco de dados SQL Server usando os comandos INSERT, SELECT, DELETE e UPDATE, você está usando a linguagem Transact-SQL.
O SQL Server 2005 introduz novas funcionalidades e melhorias para a linguagem Transact-SQL. Neste artigo, ser"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Nilton Pinheiro (english)
Nilton Pinheiro (niltonpinheiro@msn.com) is a Systems Analysis graduate and a Corporate Nets post graduate. He has 7 years of SQL Server experience, 5 of which he has been working as a DBA in a conceited financial institution in São Paulo - Brasil. As a Microsoft Beta Tester, he participated activel...




