SlideShare una empresa de Scribd logo
1 de 19
Armazenamento Temporário e 
Common Table Expressions (CTE)
Agenda 
1. Variáveis T-SQL 
2. Tabelas Temporárias 
3. Variáveis tipo TABLE 
4. CTE 
5. CTE Recursiva 
6. DEMOS 
7. Perguntas ?
Variáveis T-SQL 
Uma variável local Transact-SQL é um objeto que pode conter um valor de dados de 
um tipo específico. As variáveis em lotes e scripts são normalmente usadas: 
 Como um contador, para contar o número de vezes que um loop é executado ou 
controlar quantas vezes que o loop é executado. 
 Para reter um valor de dados a ser testado por uma instrução de controle de 
fluxo. 
 Para salvar um valor de dados a ser retornado por um código de retorno de 
procedimento armazenado ou valor de retorno de função. 
Fonte: http://msdn.microsoft.com/pt-br/library/ms187953(v=sql.105).aspx
Variáveis T-SQL
Tabelas Temporárias 
Há dois tipos de tabelas temporárias: local e global. 
Elas diferem uma da outra pelo nome, visibilidade e disponibilidade. 
As tabelas temporárias locais têm um único sinal (#) como primeiro caractere no 
nome; elas são visíveis somente na conexão atual para o usuário e são excluídas 
quando o usuário se desconecta da instância do SQL Server. 
As tabelas temporárias globais têm dois sinais (##) como primeiros caracteres no 
nome; elas são visíveis a qualquer usuário após serem criadas e são excluídas 
quando todos os usuários que consultam a tabela se desconectam da instância do 
SQL Server.
Tabelas Temporárias 
 São gravadas fisicamente, armazenadas no banco de sistema 
(tempdb) 
 Permite utilizar índices (o que pode gerar ganho de 
performance) 
 São visíveis apenas enquanto a conexão está ativa 
TempDB: http://msdn.microsoft.com/pt-br/library/ms190768.aspx
Tabelas Temporárias
Variáveis tipo TABLE 
 Criadas apenas dentro do escopo (da procedure, trigger ou do lote que foram 
construídas) 
 Armazenadas em disco! 
 Gasta menos recursos com bloqueio 
 As operações são minimamente logadas (consumindo então menos recurso de log) 
 Quando utilizadas em stored procedures, geram menos recompilações do que se 
fossem utilizadas tabelas temporárias 
 Não podem ser alvos de SELECT/INTO ou INSERT/EXEC 
 Não podem ter índices não-cluster 
 Não é possível criar e/ou atualizar estatísticas 
 Não se pode mudar sua estrutura depois que ela for criada (adicionar uma coluna, 
por exemplo)
Variáveis tipo TABLE
Links 
Perguntas freqüentes - variáveis de tabela 
SQL SERVER – Difference TempTable and Table Variable – 
TempTable in Memory a Myth
CTE 
Chamamos de common table expression o conjunto de resultados 
temporário que se define no escopo de execução de uma instrução 
SELECT, INSERT, UPDATE, DELETE ou CREATE VIEW. 
As CTEs não são armazenadas como objetos e conservam-se 
apenas durante a consulta, sendo, por estes motivos, parecidas 
com as tabelas derivadas (ou variáveis tipo TABLE).
CTE 
O uso de CTEs está voltado para as seguintes finalidades: 
 Para criar uma consulta recursiva; 
 Para substituir uma view nas situações em que seu uso geral 
não é exigido; 
 Para habilitar o agrupamento por uma coluna derivada em um 
subselect escalar; 
 Para referenciar diversar vezes na mesma instrução a tabela 
resultante;
CTE 
 Usar uma CTE oferece as vantagens de legibilidade aprimorada 
e facilidade de manutenção de consultas complexas. A consulta 
pode ser dividida em blocos de construção lógicos simples e 
separados. Esses blocos simples podem ser usados para criar CTEs 
interinas mais complexas, até que o resultado final seja gerado. 
 As CTEs podem ser definidas em rotinas definidas pelo usuário, 
como funções, procedimentos armazenados, gatilhos ou exibições. 
CTEs também podem ser aninhadas.
Estrutura de uma CTE 
Uma CTE é constituída de um nome de expressão representando a 
CTE, uma lista de colunas opcional e uma consulta que define a CTE. 
Após a definição da CTE, ela poderá ser referenciada como uma 
tabela ou exibição em uma instrução SELECT, INSERT, UPDATE ou 
DELETE. Uma CTE também pode ser usada em uma instrução CREATE 
VIEW como parte da instrução SELECT que a define. 
A estrutura de sintaxe básica de uma CTE é:
Relatório de Pedidos
Relatório de Pedidos
CTE Recursiva 
Com as CTEs também é possível escrever consultas recursivas, as 
quais são formadas por três elementos: a invocação da rotina, a 
invocação recursiva da rotina e a verificação de finalização. 
Uma CTE recursiva é capaz de retornar diversas linhas, ao contrario 
de uma rotina recursiva de outras linguagens, que retorna um valor 
escalar. 
Enquanto criamos a CTE, podemos modificar sua consulta. Para isto 
basta criar a consulta do membro âncora, adicionar o operador 
UNION ALL e, então, criar a consulta do membro recursivo que fala 
auto-referência à CTE.
CTE Recursiva 
CTE Recursiva: http://msdn.microsoft.com/pt-br/library/ms186243(v=sql.105).aspx
CTE Recursiva

Más contenido relacionado

Destacado

Controlando cargas de trabalho com o resource governor no SQL Server 2014
Controlando cargas de trabalho com o resource governor no SQL Server 2014Controlando cargas de trabalho com o resource governor no SQL Server 2014
Controlando cargas de trabalho com o resource governor no SQL Server 2014Marcos Freccia
 
Sql Server Stored Procedures
Sql Server   Stored ProceduresSql Server   Stored Procedures
Sql Server Stored Proceduresalexdutra
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggersDaniel Maia
 
Aplicando o poder de uma GPU no SQL Server
Aplicando o poder de uma GPU noSQL ServerAplicando o poder de uma GPU noSQL Server
Aplicando o poder de uma GPU no SQL Serverpichiliani
 
Do MTA ao MCM*, carreira SQL Server e DBA multiplataforma
Do MTA ao MCM*, carreira SQL Server e DBA multiplataformaDo MTA ao MCM*, carreira SQL Server e DBA multiplataforma
Do MTA ao MCM*, carreira SQL Server e DBA multiplataformaLuciano Moreira
 
Omdømmedagen 2009: Majken Shultz (Copenhagen Business School)
Omdømmedagen 2009: Majken Shultz (Copenhagen Business School)Omdømmedagen 2009: Majken Shultz (Copenhagen Business School)
Omdømmedagen 2009: Majken Shultz (Copenhagen Business School)Andreas Rødland
 
The history of the lego group in one slide
The history of the lego group in one slideThe history of the lego group in one slide
The history of the lego group in one slideDavid Robertson
 
Personalização e customização no produto RM
Personalização e customização no produto RMPersonalização e customização no produto RM
Personalização e customização no produto RMTOTVS Connect
 
Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosEduardo Legatti
 
Monitoramento de Redes com Nagios
Monitoramento de Redes com NagiosMonitoramento de Redes com Nagios
Monitoramento de Redes com NagiosDaniel Lara
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggersflaviognm
 
Instalando e configurando o protheus 11 x sql server
Instalando e configurando o protheus 11 x sql serverInstalando e configurando o protheus 11 x sql server
Instalando e configurando o protheus 11 x sql serverJosé Felipe Rodrigues
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012Rodrigo Ribeiro
 
TOTVS LINHA RM - FÓRMULAS - Lógica de construção de fórmulas
TOTVS LINHA RM - FÓRMULAS - Lógica de construção de fórmulasTOTVS LINHA RM - FÓRMULAS - Lógica de construção de fórmulas
TOTVS LINHA RM - FÓRMULAS - Lógica de construção de fórmulasFábio Delboni
 
SQL Server 2012
SQL Server 2012SQL Server 2012
SQL Server 2012Hcode
 
Lego: Strategy Analysis & Business Model
Lego: Strategy Analysis & Business ModelLego: Strategy Analysis & Business Model
Lego: Strategy Analysis & Business ModelEvgenii Gvozdev
 

Destacado (20)

Controlando cargas de trabalho com o resource governor no SQL Server 2014
Controlando cargas de trabalho com o resource governor no SQL Server 2014Controlando cargas de trabalho com o resource governor no SQL Server 2014
Controlando cargas de trabalho com o resource governor no SQL Server 2014
 
Sql Server Stored Procedures
Sql Server   Stored ProceduresSql Server   Stored Procedures
Sql Server Stored Procedures
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
ABM PowerPoint
ABM PowerPointABM PowerPoint
ABM PowerPoint
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggers
 
Aplicando o poder de uma GPU no SQL Server
Aplicando o poder de uma GPU noSQL ServerAplicando o poder de uma GPU noSQL Server
Aplicando o poder de uma GPU no SQL Server
 
Do MTA ao MCM*, carreira SQL Server e DBA multiplataforma
Do MTA ao MCM*, carreira SQL Server e DBA multiplataformaDo MTA ao MCM*, carreira SQL Server e DBA multiplataforma
Do MTA ao MCM*, carreira SQL Server e DBA multiplataforma
 
Omdømmedagen 2009: Majken Shultz (Copenhagen Business School)
Omdømmedagen 2009: Majken Shultz (Copenhagen Business School)Omdømmedagen 2009: Majken Shultz (Copenhagen Business School)
Omdømmedagen 2009: Majken Shultz (Copenhagen Business School)
 
The history of the lego group in one slide
The history of the lego group in one slideThe history of the lego group in one slide
The history of the lego group in one slide
 
Personalização e customização no produto RM
Personalização e customização no produto RMPersonalização e customização no produto RM
Personalização e customização no produto RM
 
Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - Nagios
 
Linguagem c#
Linguagem c#Linguagem c#
Linguagem c#
 
Monitoramento de Redes com Nagios
Monitoramento de Redes com NagiosMonitoramento de Redes com Nagios
Monitoramento de Redes com Nagios
 
Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 
Instalando e configurando o protheus 11 x sql server
Instalando e configurando o protheus 11 x sql serverInstalando e configurando o protheus 11 x sql server
Instalando e configurando o protheus 11 x sql server
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012
 
TOTVS LINHA RM - FÓRMULAS - Lógica de construção de fórmulas
TOTVS LINHA RM - FÓRMULAS - Lógica de construção de fórmulasTOTVS LINHA RM - FÓRMULAS - Lógica de construção de fórmulas
TOTVS LINHA RM - FÓRMULAS - Lógica de construção de fórmulas
 
SQL Server 2012
SQL Server 2012SQL Server 2012
SQL Server 2012
 
Lego: Strategy Analysis & Business Model
Lego: Strategy Analysis & Business ModelLego: Strategy Analysis & Business Model
Lego: Strategy Analysis & Business Model
 

Similar a Armazenamento Temporário e CTEs - SQL Server

Banco de dados oracle
Banco de dados oracleBanco de dados oracle
Banco de dados oracleEduardo Lopes
 
Performance Sql Server
Performance Sql ServerPerformance Sql Server
Performance Sql Serverjarlei
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoHelder Lopes
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLFábio Delboni
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 
Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Emiliano Barbosa
 
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...Edisio Nascimento
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoFabrício Catae
 
TimesTen In-Memory Database
TimesTen In-Memory DatabaseTimesTen In-Memory Database
TimesTen In-Memory DatabaseAndre Danelon
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Emiliano Barbosa
 
Apresentação básica de my sql
Apresentação básica de my sqlApresentação básica de my sql
Apresentação básica de my sqlMarcus Couto
 
Banco de Dados.pptx
Banco de Dados.pptxBanco de Dados.pptx
Banco de Dados.pptxBrunoWuo
 
TechEd 2005: Novos Recursos T-SQL (SQL 2005)
TechEd 2005: Novos Recursos T-SQL (SQL 2005)TechEd 2005: Novos Recursos T-SQL (SQL 2005)
TechEd 2005: Novos Recursos T-SQL (SQL 2005)Fabrício Catae
 

Similar a Armazenamento Temporário e CTEs - SQL Server (20)

Banco de dados oracle
Banco de dados oracleBanco de dados oracle
Banco de dados oracle
 
Performance Sql Server
Performance Sql ServerPerformance Sql Server
Performance Sql Server
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Novidades do SQL Server 2008
Novidades do SQL Server 2008Novidades do SQL Server 2008
Novidades do SQL Server 2008
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8
 
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
 
TimesTen In-Memory Database
TimesTen In-Memory DatabaseTimesTen In-Memory Database
TimesTen In-Memory Database
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 
Apresentação básica de my sql
Apresentação básica de my sqlApresentação básica de my sql
Apresentação básica de my sql
 
Banco de Dados.pptx
Banco de Dados.pptxBanco de Dados.pptx
Banco de Dados.pptx
 
TechEd 2005: Novos Recursos T-SQL (SQL 2005)
TechEd 2005: Novos Recursos T-SQL (SQL 2005)TechEd 2005: Novos Recursos T-SQL (SQL 2005)
TechEd 2005: Novos Recursos T-SQL (SQL 2005)
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 

Último

ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Centro Jacques Delors
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Cabiamar
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)Centro Jacques Delors
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...SileideDaSilvaNascim
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfFbioFerreira207918
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...azulassessoria9
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPEli Gonçalves
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 

Último (20)

ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 

Armazenamento Temporário e CTEs - SQL Server

  • 1. Armazenamento Temporário e Common Table Expressions (CTE)
  • 2. Agenda 1. Variáveis T-SQL 2. Tabelas Temporárias 3. Variáveis tipo TABLE 4. CTE 5. CTE Recursiva 6. DEMOS 7. Perguntas ?
  • 3. Variáveis T-SQL Uma variável local Transact-SQL é um objeto que pode conter um valor de dados de um tipo específico. As variáveis em lotes e scripts são normalmente usadas:  Como um contador, para contar o número de vezes que um loop é executado ou controlar quantas vezes que o loop é executado.  Para reter um valor de dados a ser testado por uma instrução de controle de fluxo.  Para salvar um valor de dados a ser retornado por um código de retorno de procedimento armazenado ou valor de retorno de função. Fonte: http://msdn.microsoft.com/pt-br/library/ms187953(v=sql.105).aspx
  • 5. Tabelas Temporárias Há dois tipos de tabelas temporárias: local e global. Elas diferem uma da outra pelo nome, visibilidade e disponibilidade. As tabelas temporárias locais têm um único sinal (#) como primeiro caractere no nome; elas são visíveis somente na conexão atual para o usuário e são excluídas quando o usuário se desconecta da instância do SQL Server. As tabelas temporárias globais têm dois sinais (##) como primeiros caracteres no nome; elas são visíveis a qualquer usuário após serem criadas e são excluídas quando todos os usuários que consultam a tabela se desconectam da instância do SQL Server.
  • 6. Tabelas Temporárias  São gravadas fisicamente, armazenadas no banco de sistema (tempdb)  Permite utilizar índices (o que pode gerar ganho de performance)  São visíveis apenas enquanto a conexão está ativa TempDB: http://msdn.microsoft.com/pt-br/library/ms190768.aspx
  • 8. Variáveis tipo TABLE  Criadas apenas dentro do escopo (da procedure, trigger ou do lote que foram construídas)  Armazenadas em disco!  Gasta menos recursos com bloqueio  As operações são minimamente logadas (consumindo então menos recurso de log)  Quando utilizadas em stored procedures, geram menos recompilações do que se fossem utilizadas tabelas temporárias  Não podem ser alvos de SELECT/INTO ou INSERT/EXEC  Não podem ter índices não-cluster  Não é possível criar e/ou atualizar estatísticas  Não se pode mudar sua estrutura depois que ela for criada (adicionar uma coluna, por exemplo)
  • 10. Links Perguntas freqüentes - variáveis de tabela SQL SERVER – Difference TempTable and Table Variable – TempTable in Memory a Myth
  • 11. CTE Chamamos de common table expression o conjunto de resultados temporário que se define no escopo de execução de uma instrução SELECT, INSERT, UPDATE, DELETE ou CREATE VIEW. As CTEs não são armazenadas como objetos e conservam-se apenas durante a consulta, sendo, por estes motivos, parecidas com as tabelas derivadas (ou variáveis tipo TABLE).
  • 12. CTE O uso de CTEs está voltado para as seguintes finalidades:  Para criar uma consulta recursiva;  Para substituir uma view nas situações em que seu uso geral não é exigido;  Para habilitar o agrupamento por uma coluna derivada em um subselect escalar;  Para referenciar diversar vezes na mesma instrução a tabela resultante;
  • 13. CTE  Usar uma CTE oferece as vantagens de legibilidade aprimorada e facilidade de manutenção de consultas complexas. A consulta pode ser dividida em blocos de construção lógicos simples e separados. Esses blocos simples podem ser usados para criar CTEs interinas mais complexas, até que o resultado final seja gerado.  As CTEs podem ser definidas em rotinas definidas pelo usuário, como funções, procedimentos armazenados, gatilhos ou exibições. CTEs também podem ser aninhadas.
  • 14. Estrutura de uma CTE Uma CTE é constituída de um nome de expressão representando a CTE, uma lista de colunas opcional e uma consulta que define a CTE. Após a definição da CTE, ela poderá ser referenciada como uma tabela ou exibição em uma instrução SELECT, INSERT, UPDATE ou DELETE. Uma CTE também pode ser usada em uma instrução CREATE VIEW como parte da instrução SELECT que a define. A estrutura de sintaxe básica de uma CTE é:
  • 17. CTE Recursiva Com as CTEs também é possível escrever consultas recursivas, as quais são formadas por três elementos: a invocação da rotina, a invocação recursiva da rotina e a verificação de finalização. Uma CTE recursiva é capaz de retornar diversas linhas, ao contrario de uma rotina recursiva de outras linguagens, que retorna um valor escalar. Enquanto criamos a CTE, podemos modificar sua consulta. Para isto basta criar a consulta do membro âncora, adicionar o operador UNION ALL e, então, criar a consulta do membro recursivo que fala auto-referência à CTE.
  • 18. CTE Recursiva CTE Recursiva: http://msdn.microsoft.com/pt-br/library/ms186243(v=sql.105).aspx