Top Banner
34

Utilizando a cláusula Output no Server 2008 e R2

Jan 04, 2016

Download

Documents

Utilizando a cláusula Output no Server 2008 e R2. Pedro Antonio Galvão Junior - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Utilizando a cláusula Output no  Server 2008 e  R2
Page 2: Utilizando a cláusula Output no  Server 2008 e  R2

Utilizando a cláusula Output no Server 2008 e R2

Pedro Antonio Galvão Junior

MVP | MCDBA | Microsoft Evangelist | Microsoft Partners | Coordenador de Projetos | Engenherio de Processos e Software | Especialista em Desenvolvimento de Software Client/Server | Especialista em Banco de Dados | Professor Universitário | Membro SorBR.Net | Membro MSIT.com.br | Diretor Virtual PASS BR|

Page 3: Utilizando a cláusula Output no  Server 2008 e  R2

Agenda do Evento – Parte 1.• Abertura.• Apresentação.

• O que é a cláusula Output?• Por que utilizá-la?• Restrições.

• Montando o Ambiente.

• Utilizando a cláusula Output com os comandos Insert e Update.• Demostração.

Page 4: Utilizando a cláusula Output no  Server 2008 e  R2

Agenda do Evento – Parte 2.• Utilizando a cláusula Output com o comando Delete.• Demostração.

• Utilizando a cláusula Output com Tabelas Temporárias.• Demostração.

• Utilizando a cláusula Output com Visões. e Variáveis Tipo Table.• Demostração.

• Utilizando a cláusula Output com Variáveis Tipo Table.• Demostração.

Page 5: Utilizando a cláusula Output no  Server 2008 e  R2

Agenda do Evento – Parte 3.• Conclusão.

• Encerramento:– Links Complementares.– Dúvidas?– Contatos.– Sorteios.– Próximos Eventos.– Virtual Pass.

Page 6: Utilizando a cláusula Output no  Server 2008 e  R2

O QUE É CLÁUSULA OUTPUT? Visão Geral

Page 7: Utilizando a cláusula Output no  Server 2008 e  R2

O QUE É CLÁUSULA OUTPUT?• A cláusula Output, tem como objetivo retornar as informações com base em expressões,

onde cada linha afetada por uma instrução INSERT, UPDATE, DELETE ou MERGE são

apresentadas conforme os valores inseridos. Estes resultados podem ser retornados para

o aplicativos, como mensagens de confirmação, arquivamento e outros tais requisitos do

aplicativo.

• Através da cláusula Output presente no SQL Server 2008, temos estas possibilidade, ou

seja, quando estivermos realizando um dos comandos DML(Data Manipulation

Languagem – Linguagem de Manipulação de Dados), poderemos obter o retorno destes

dados que estamos manipulando no exato momento.

Page 8: Utilizando a cláusula Output no  Server 2008 e  R2

O QUE É CLÁUSULA OUTPUT?• Os resultados também podem ser inseridos em uma tabela ou variável do tipo tabela.

Além disso, você pode capturar os resultados de uma cláusula OUTPUT em uma alinhadas

a comandos INSERT, UPDATE, DELETE, ou instrução MERGE.

• Estes resultados podem ser direcionados a uma tabela de destino ou visão(view).

• A partir do momento em que estes dados são capturados seja em uma outra tabela, visão

ou variável o usuário poderá trabalhar com esta informação da forma desejada.

Page 9: Utilizando a cláusula Output no  Server 2008 e  R2

O QUE É CLÁUSULA OUTPUT?• Outro detalhe que destaco, uma instrução UPDATE, INSERT ou DELETE que tem uma

cláusula OUTPUT retornará linhas para o cliente, mesmo que a instrução encontra erros e

é revertida.

• O resultado não deve ser usado se ocorrer algum erro ao executar a instrução.

• Para utilizar este recurso não é necessário realizar qualquer tipo de alteração na

configuração do SQL Server, Banco de Dados ou demais recursos e objetos, trata-se de um

comando T-SQL(Transact SQL) e como qualquer comando basta conhecer sua sintaxe e

opção para posterior utilização.

Page 10: Utilizando a cláusula Output no  Server 2008 e  R2

POR QUE UTILIZAR A CLÁUSULA OUTPUT?

Analisando situações e condições de uso

Page 11: Utilizando a cláusula Output no  Server 2008 e  R2

POR QUE UTILIZAR A CLÁUSULA OUTPUT?• A cláusula OUTPUT pode ser útil para recuperar o valor de identidade ou colunas

computadas depois de uma operação INSERT ou UPDATE.

• Quando uma coluna computada é incluída em <dml_select_list>, a coluna correspondente

na tabela de saída ou variável de tabela não é uma coluna computada.

• Os valores na nova coluna são aqueles que foram computados no momento em que a

instrução foi executada.

Page 12: Utilizando a cláusula Output no  Server 2008 e  R2

POR QUE UTILIZAR A CLÁUSULA OUTPUT?• Não há nenhuma garantia de que a ordem na qual as alterações são aplicadas à tabela e a

ordem na qual as linhas são inseridas na tabela de saída ou na variável de tabela

correspondam.

• Se forem modificados parâmetros ou variáveis como parte de uma instrução UPDATE, a

cláusula OUTPUT sempre retornará o valor do parâmetro ou a variável como era antes de

a instrução ser executada, e não o valor modificado.

• Você pode usar OUTPUT com uma instrução UPDATE ou DELETE posicionada em um

cursor que use a sintaxe WHERE CURRENT OF.

Page 13: Utilizando a cláusula Output no  Server 2008 e  R2

RESTRIÇÕES DE USO DA CLÁUSULA OUTPUT

Analisando situações e condições de uso

Page 14: Utilizando a cláusula Output no  Server 2008 e  R2

RESTRIÇÕES DE USO DA CLÁSULA OUTPUT• Não há suporte para a cláusula OUTPUT nas seguintes instruções:

– Instruções DML que façam referência a exibições particionadas locais, exibições

particionadas distribuídas ou tabelas remotas.

– Instruções INSERT contendo uma instrução EXECUTE.

– Não são permitidos predicados de texto completo na cláusula OUTPUT quando o

nível de compatibilidade de banco de dados é definido como 100.

– A cláusula OUTPUT INTO não pode ser usada para inserção em uma exibição ou

função de conjunto de linhas.

– Não é possível criar uma função definida pelo usuário caso ela contenha uma cláusula

OUTPUT INTO que tenha uma tabela como seu destino.

Page 15: Utilizando a cláusula Output no  Server 2008 e  R2

MONTANDO O AMBIENTEDefinindo a estrutura para utilização da cláusula Output

Page 16: Utilizando a cláusula Output no  Server 2008 e  R2

MONTANDO O AMBIENTE• Em nosso ambiente de teste vamos criar um novo Banco de Dados, denominado

Exemplos, conforme apresenta o código abaixo:

--Criando o Banco de Dados Exemplos--

1. Create Database Exemplos

2. Go

--Acessando o Banco de Dados Exemplos--

3. Use Exemplos

4. Go

Page 17: Utilizando a cláusula Output no  Server 2008 e  R2

MONTANDO O AMBIENTE• Agora vamos criar uma nova tabela para este banco de Dados, esta tabela será

nomeada como Tabela1, conforme apresenta o código abaixo:

--Criando a Table Tabela1--

1. Create Table Tabela1

2. (Codigo SmallInt Identity Primary Key Clustered,

3. Valor Int,

4. DataCriacao Date,

5. DataManipulacao Date) On [Primary]

Page 18: Utilizando a cláusula Output no  Server 2008 e  R2

MONTANDO O AMBIENTE• Podemos observar que esta tabela, é composta por quatro colunas, os valores

posteriormente inseridos não apresentam qualquer tipo de informação

verdadeira, os dados tem como objetivo ilustrar podemos trabalhar com a

cláusula Output.

• Bom, nosso ambiente esta definido e pronto para começarmos a trabalhar com a

primeira demonstração, utilizando a instrução Insert e com base neste comando,

apresentar os dados retornados pela cláusula Output.

Page 19: Utilizando a cláusula Output no  Server 2008 e  R2

DEMONSTRAÇÃO 1Cláusula Output com Insert e Update

Page 20: Utilizando a cláusula Output no  Server 2008 e  R2

DEMONSTRAÇÃO 2Cláusula Output com Delete

Page 21: Utilizando a cláusula Output no  Server 2008 e  R2

DEMONSTRAÇÃO 3Cláusula Output com Tabelas Temporárias

Page 22: Utilizando a cláusula Output no  Server 2008 e  R2

DEMONSTRAÇÃO 4Cláusula Output com Visões

Page 23: Utilizando a cláusula Output no  Server 2008 e  R2

DEMONSTRAÇÃO 5Cláusula Output com Variáveis do Tipo Table

Page 24: Utilizando a cláusula Output no  Server 2008 e  R2

CONCLUSÃOUm resumo da apresentação e maiores informações

Page 25: Utilizando a cláusula Output no  Server 2008 e  R2

CONCLUSÃO• Pessoal chegamos ao final deste evento, acredito que foi possível conhecer, entender e

demonstrar como a CLÁUSULA Output pode ser utilizada, além disso, suas formas de

captura, armazenamento e retorno de dados, através dos comandos Insert, Update e

Delete.

• Conseguimos trabalhar com este recurso combinando o uso de Visões, Table Temporárias

e Variables Tables.

• Utilizamos também a opção Into dentro da CLÁUSULA Output, fazendo o direcionamento

do retorno dos dados para diversos objetos.

Page 26: Utilizando a cláusula Output no  Server 2008 e  R2

CONCLUSÃO• A cláusula Output pode ser considerada uma forma de debug

visual de apresentações de dados.

• Com a possibilidade de apresentar o retorno dos dados em tela,

fica mais fácil entender como este conjunto de valores ficará

armazenado em nossas tabelas.

Page 27: Utilizando a cláusula Output no  Server 2008 e  R2

Links Complementares• Site do SQL Server:

http://www.microsoft.com/sql/

• Site sobre Cláusula Output: http://msdn.microsoft.com/pt-br/library/ms177564.aspx

• TechNet Brasil: http://www.microsoft.com/brasil/technet

• MSDN Brasil:http://www.microsoft.com/brasil/msdn

Page 28: Utilizando a cláusula Output no  Server 2008 e  R2

Dúvidas?

Page 29: Utilizando a cláusula Output no  Server 2008 e  R2

Contatos• Pedrogalvaojunior.wordpress.com

[email protected]

• @juniorgalvaomvp

Page 30: Utilizando a cláusula Output no  Server 2008 e  R2

Sorteio de brindes

Confira o seu número e

BOA SORTE!

Page 31: Utilizando a cláusula Output no  Server 2008 e  R2

Virtual PASS Chapter BR

- 5 meses de vida

- 3000+ visitas por mês

- 450 artigos

- 40+ vídeos

• www.virtualpass.com.br

Page 32: Utilizando a cláusula Output no  Server 2008 e  R2

- 3 tracks simultâneas (Dev., Infra. e B.I.)

- 18 sessões

- Sorteios

- Grandes palestrantes

• http://bit.ly/sqlsat100

Próximos Eventos

Page 33: Utilizando a cláusula Output no  Server 2008 e  R2

OBRIGADO!!!

ATÉ A PRÓXIMA....

Page 34: Utilizando a cláusula Output no  Server 2008 e  R2