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 ) )
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