SlideShare uma empresa Scribd logo
1 de 19
Fundamentos de SQL Microsoft SQL Server 2005 Emiliano Eloi <emilianoeloi@gmail.com>
Objetivos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Para hoje ,[object Object],[object Object]
Lista de Verificação ,[object Object],[object Object],[object Object],[object Object],[object Object]
Armazenar um procedimento “ Stored Procedures nada mais são do que um conjunto de instruções Transact-SQL que são executadas dentro do banco de dados. É como escrever um programa dentro do próprio banco de dados para executar tudo lá dentro.  Dentro das Stored Procedures devemos utilizar comandos Transact-SQL que não deixam nada a desejar a comandos de uma liguagem de programação qualquer, como Visual Basic ou Delphi. O Transact-SQL possui instruções de comparação (if), loops (while) operadores, variáveis, funcões, etc.” Mauro Pichiliani http://imasters.uol.com.br/artigo/223/sql_server/criacao_e_uso_de_stored_procedures/
Armazenar um procedimento /*  Procedimento para imprimir o texto  'A alma do aprendizado é a repetição.‘ */ CREATE   PROCEDURE  SPR_IMPRIMIR_TEXTO AS BEGIN PRINT   'A alma do aprendizado é a repetição.' END
Armazenar um procedimento -- Procedimento para somar dois números  CREATE   PROCEDURE  SPR_SOMA @NUMERO1  INT , @NUMERO2  INT AS DECLARE  @SOMA  INT BEGIN SET  @SOMA  =  @NUMERO1  +  @NUMERO2 PRINT  @SOMA END
Armazenar um procedimento -- Executar os procedimentos EXECUTE  SPR_SOMA   2 ,  3 EXECUTE  SPR_IMPRIMIR_TEXTO
Criando Tabelas ,[object Object],[object Object]
Criando Tabelas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CREATE TABLE - Usando CREATE   TABLE  TBL_ATENDENTES( ID_ATENDENTE  INT   NOT NULL , ID_PESSOA  INT   NOT NULL , NM_MATRICULA_ATENDENTE  CHAR(5 ) )
CREATE TABLE - Usando CREATE   TABLE  TBL_PESSOAS( ID_PESSOA  INT   IDENTITY (1,1), NM_NOME_PESSOA  VARCHAR (255), DT_DATA_NASCIMENTO  DATETIME )
Exercícios  ,[object Object],[object Object],[object Object],[object Object],[object Object]
Transações Uma transação é um conjunto de operações tratado como uma unidade. Ou todas as operações que compõem a unidade são concluídas ou nenhuma delas é.
Transações – Usando  Iniciar a transação BEGIN  TRANSACTION DEMOSTRACAO Tornar a transação permanente. Confirmar a transação. COMMIT  TRANSACTION DEMOSTRACAO Voltar a transação, abortar. ROLLBACK  TRANSACTION DEMOSTRACAO
Tratamento de Erro Um grupo de instruções pode ser incluído em um bloco TRY. Se ocorrer um erro no bloco TRY, o controle passará para outro grupo de instruções que está incluído em um bloco CATCH. BEGIN  TRY SELECT  NM_CEP_ALUNO   FROM  TBL_ALUNOS END  TRY BEGIN  CATCH PRINT   'Houve um erro' END  CATCH
Exemplo USE  DB_ESCOLINHA BEGIN   TRY BEGIN   TRANSACTION  INSERIR_ALUNO -- INSERIR MÃE INSERT   INTO  TBL_PAIS   ( ID_PAI ,  NM_NOME_PAI ,  NM_SOBRENOME_PAI ,     NM_PSS_PAI ,  NM_CEP_PAI ) VALUES  ( 10 , 'Tatiane' , 'Silva' ,   'TATIANESILV' , '30730-230' ) -- INSERIR ALUNO INSERT   INTO  TBL_ALUNOS   ( ID_ALUNO ,  NM_NOME_ALUNO ,  NM_SOBRENOME_ALUNO ,       NM_PSS_ALUNO ,  NM_CEP_ALUNO ) VALUES  ( 10 , 'Tatiane' , 'Silva' ,   'TATIANESILV' , '30730-230' ) COMMIT   TRANSACTION  INSERIR_ALUNO PRINT   'INSERIDO COM SUCESSO!' END   TRY BEGIN   CATCH ROLLBACK   TRANSACTION  INSERIR_ALUNO PRINT   'HOUVE UM ERRO NA INSERSAO!' PRINT   ERROR_MESSAGE () END   CATCH
Comando USE ,[object Object],USE  DB_ESCOLINHA
Comentário ,[object Object],-- Comentário de uma linha /* Comentário de inúmeras linhas */

Mais conteúdo relacionado

Mais procurados

Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysqlArley Rodrigues
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQLArley Rodrigues
 
Aula 6 sql - introdução
Aula 6   sql - introduçãoAula 6   sql - introdução
Aula 6 sql - introduçãoHélio Martins
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL BásicoIgor Alves
 
Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1Arley Rodrigues
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLFábio Delboni
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosFábio dos Reis
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Marco Pinheiro
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultasjulianaveregue
 
Criando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL WorkbenchCriando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL WorkbenchCentro Paula Souza
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteIlton Barbosa
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
 

Mais procurados (20)

Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysql
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Aula10 sql-ddl
Aula10 sql-ddlAula10 sql-ddl
Aula10 sql-ddl
 
Aula 6 sql - introdução
Aula 6   sql - introduçãoAula 6   sql - introdução
Aula 6 sql - introdução
 
Aula 12 banco de dados
Aula 12   banco de dadosAula 12   banco de dados
Aula 12 banco de dados
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1
 
Inner Join
Inner JoinInner Join
Inner Join
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
 
Criando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL WorkbenchCriando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL Workbench
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a Parte
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
Aula 250309
Aula 250309Aula 250309
Aula 250309
 
Aula2 - SQL
Aula2 - SQLAula2 - SQL
Aula2 - SQL
 

Destaque

Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 
Fundamentos de SQL - Workshop 2
Fundamentos de SQL - Workshop 2Fundamentos de SQL - Workshop 2
Fundamentos de SQL - Workshop 2Emiliano Barbosa
 
Fundamentos de SQL - Workshop 3
Fundamentos de SQL - Workshop 3Fundamentos de SQL - Workshop 3
Fundamentos de SQL - Workshop 3Emiliano Barbosa
 
Livro banco de_dados_volume_03
Livro banco de_dados_volume_03Livro banco de_dados_volume_03
Livro banco de_dados_volume_03CLEAN LOURENÇO
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosElaine Cecília Gatto
 
Apostila de sql basico
Apostila de sql basicoApostila de sql basico
Apostila de sql basicoFernando Palma
 
Caderno de info(banco de dados).
Caderno de info(banco de dados).Caderno de info(banco de dados).
Caderno de info(banco de dados).Ajudar Pessoas
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 

Destaque (9)

Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
Apostila banco de dados
Apostila banco de dadosApostila banco de dados
Apostila banco de dados
 
Fundamentos de SQL - Workshop 2
Fundamentos de SQL - Workshop 2Fundamentos de SQL - Workshop 2
Fundamentos de SQL - Workshop 2
 
Fundamentos de SQL - Workshop 3
Fundamentos de SQL - Workshop 3Fundamentos de SQL - Workshop 3
Fundamentos de SQL - Workshop 3
 
Livro banco de_dados_volume_03
Livro banco de_dados_volume_03Livro banco de_dados_volume_03
Livro banco de_dados_volume_03
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dados
 
Apostila de sql basico
Apostila de sql basicoApostila de sql basico
Apostila de sql basico
 
Caderno de info(banco de dados).
Caderno de info(banco de dados).Caderno de info(banco de dados).
Caderno de info(banco de dados).
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 

Semelhante a Fundamentos de SQL - Parte 3 de 8

Semelhante a Fundamentos de SQL - Parte 3 de 8 (20)

2832014 curso plsql
2832014 curso plsql2832014 curso plsql
2832014 curso plsql
 
Java13
Java13Java13
Java13
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
 
Vb
VbVb
Vb
 
MySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de DadosMySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de Dados
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
 
Java8
Java8Java8
Java8
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Aula 10 - Trabalhando com Templates - Programação Web
Aula 10  - Trabalhando com Templates - Programação WebAula 10  - Trabalhando com Templates - Programação Web
Aula 10 - Trabalhando com Templates - Programação Web
 
Apostila PhP com Wamp, 2a. parte
Apostila PhP com Wamp, 2a. parteApostila PhP com Wamp, 2a. parte
Apostila PhP com Wamp, 2a. parte
 

Fundamentos de SQL - Parte 3 de 8

  • 1. Fundamentos de SQL Microsoft SQL Server 2005 Emiliano Eloi <emilianoeloi@gmail.com>
  • 2.
  • 3.
  • 4.
  • 5. Armazenar um procedimento “ Stored Procedures nada mais são do que um conjunto de instruções Transact-SQL que são executadas dentro do banco de dados. É como escrever um programa dentro do próprio banco de dados para executar tudo lá dentro. Dentro das Stored Procedures devemos utilizar comandos Transact-SQL que não deixam nada a desejar a comandos de uma liguagem de programação qualquer, como Visual Basic ou Delphi. O Transact-SQL possui instruções de comparação (if), loops (while) operadores, variáveis, funcões, etc.” Mauro Pichiliani http://imasters.uol.com.br/artigo/223/sql_server/criacao_e_uso_de_stored_procedures/
  • 6. Armazenar um procedimento /* Procedimento para imprimir o texto 'A alma do aprendizado é a repetição.‘ */ CREATE PROCEDURE SPR_IMPRIMIR_TEXTO AS BEGIN PRINT 'A alma do aprendizado é a repetição.' END
  • 7. Armazenar um procedimento -- Procedimento para somar dois números CREATE PROCEDURE SPR_SOMA @NUMERO1 INT , @NUMERO2 INT AS DECLARE @SOMA INT BEGIN SET @SOMA = @NUMERO1 + @NUMERO2 PRINT @SOMA END
  • 8. Armazenar um procedimento -- Executar os procedimentos EXECUTE SPR_SOMA 2 , 3 EXECUTE SPR_IMPRIMIR_TEXTO
  • 9.
  • 10.
  • 11. CREATE TABLE - Usando CREATE TABLE TBL_ATENDENTES( ID_ATENDENTE INT NOT NULL , ID_PESSOA INT NOT NULL , NM_MATRICULA_ATENDENTE CHAR(5 ) )
  • 12. CREATE TABLE - Usando CREATE TABLE TBL_PESSOAS( ID_PESSOA INT IDENTITY (1,1), NM_NOME_PESSOA VARCHAR (255), DT_DATA_NASCIMENTO DATETIME )
  • 13.
  • 14. Transações Uma transação é um conjunto de operações tratado como uma unidade. Ou todas as operações que compõem a unidade são concluídas ou nenhuma delas é.
  • 15. Transações – Usando Iniciar a transação BEGIN TRANSACTION DEMOSTRACAO Tornar a transação permanente. Confirmar a transação. COMMIT TRANSACTION DEMOSTRACAO Voltar a transação, abortar. ROLLBACK TRANSACTION DEMOSTRACAO
  • 16. Tratamento de Erro Um grupo de instruções pode ser incluído em um bloco TRY. Se ocorrer um erro no bloco TRY, o controle passará para outro grupo de instruções que está incluído em um bloco CATCH. BEGIN TRY SELECT NM_CEP_ALUNO FROM TBL_ALUNOS END TRY BEGIN CATCH PRINT 'Houve um erro' END CATCH
  • 17. Exemplo USE DB_ESCOLINHA BEGIN TRY BEGIN TRANSACTION INSERIR_ALUNO -- INSERIR MÃE INSERT INTO TBL_PAIS ( ID_PAI , NM_NOME_PAI , NM_SOBRENOME_PAI , NM_PSS_PAI , NM_CEP_PAI ) VALUES ( 10 , 'Tatiane' , 'Silva' , 'TATIANESILV' , '30730-230' ) -- INSERIR ALUNO INSERT INTO TBL_ALUNOS ( ID_ALUNO , NM_NOME_ALUNO , NM_SOBRENOME_ALUNO , NM_PSS_ALUNO , NM_CEP_ALUNO ) VALUES ( 10 , 'Tatiane' , 'Silva' , 'TATIANESILV' , '30730-230' ) COMMIT TRANSACTION INSERIR_ALUNO PRINT 'INSERIDO COM SUCESSO!' END TRY BEGIN CATCH ROLLBACK TRANSACTION INSERIR_ALUNO PRINT 'HOUVE UM ERRO NA INSERSAO!' PRINT ERROR_MESSAGE () END CATCH
  • 18.
  • 19.