Bom, depois de muitos dias sem postar nada, e do grande sucesso que teve a enquete de qual seria o próximo assunto, vamos falar um pouquinho agora, das Stored Procedures.
Estaremos utilizando o banco de dados, SQL Server, como exemplo.
Já indo direto ao assunto, as Stored Procedures é que um conjunto de instruções (Transact-SQL) que são executados dentro do banco de dados, é como se escrevêssemos nossas regras de negócio dentro da base. O interessante de usá-las, é que elas podem reduzir o tráfego na rede, melhorar o desempenho de um banco de dados, criar tasks, etc. pode fazer inúmeras tarefas com as SP’s.
Pelas inúmeras funcionalidades, as SP’s, trazem grandes vantagens para os Desenvolvedores e DBA’s.
As procedures podem ser utilizadas quando temos vários sistemas diferentes (linguagens diferentes) acessando uma mesma base, com isso podemos assegurar que todos os sistemas estão executando a mesma rotina, aumentando o grau de segurança das aplicações.
Já que sabemos do potencial das SP’s , vamos ver agora como podemos criar uma.
CREATE PROCEDURE TESTE
AS
BEGIN
SELECT * FROM PESSOAS
END
AS
BEGIN
SELECT * FROM PESSOAS
END
Acima criamos uma procedure simples, assim que ela for executada, ficará “guardada” e pronta para ser chamada a qualquer momento. Podemos ainda passar parâmetros para ela.
EXEC TESTE
Com o comando acima, a SP é executada.
Vamos criar uma procedure que receba parâmetros e execute um insert com os mesmos na tabela Pessoa.
CREATE PROCEDURE sp_inserePessoa
@nome varchar(50),
@idade int,
@sexo char(1)
AS
INSERT INTO PESSOA (nome, idade, sexo) VALUES (@nome, @idade, @sexo)
GO
Agora vamos consumir nossa Procedure.
USE bd_estudo
GO
EXEC SP_inserePessoa
@nome = ‘Leandro Martins’,
@idade = 20
@sexo = ‘M’
GO
Até agora, vimos que não tem nada de complicado em criar uma procedure, mas podemos ainda melhorar a nossa, e colocar uma regra nela.
1 – Se o nome não for informado, a inserção não poderá será concluída, e uma mensagem deverá ser exibida.
Para isso, não precisamos de criar uma nova, podemos ALTERAR a nossa criada.
ALTER PROCEDURE sp_inserePessoa
@nome varchar(50),
@idade int,
@sexo char(1)
AS
IF @nome <> ‘’
BEGIN
INSERT INTO PESSOA (nome, idade, sexo) VALUES (@nome, @idade, @sexo)
PRINT ‘Insert executado com sucesso!’
END
ELSE
PRINT ‘Erro: Nome não informado’
GO
Executando...
EXEC SP_inserePessoa
@nome = ‘’,
@idade = 20
@sexo = ‘M’
GO
A mensagem de erro deverá ser exibida. ‘Erro: Nome não informado’
Ah, quase já ia esquecendo, talvez você esteja fazendo estes testes na base de dados do cliente, rsrs, além de criar e alterar pode Excluir a procedure.
DROP PROCEDURE sp_inserePessoa
Chegamos a mais um final de um post, e espero mais uma vez ter contribuído com algo.
Nenhum comentário:
Postar um comentário