Os procedimentos armazenados são objetos de banco de dados executáveis composto por várias instruções SQL . Eles ajudam a simplificar a interação entre o banco de dados eo usuário final que não tem conhecimento suficiente para escrever consultas SQL complexas . Você pode usar procedimentos armazenados para fornecer acesso , validação de dados e simplificar o processo complexo que requer múltiplas instruções SQL. Os procedimentos armazenados podem aceitar parâmetros de entrada , valores de retorno e implementar looping lógicas como se , quando e declarações de caso. Coisas que você precisa
Microsoft SQL Server Query Analyzer
Mostrar Mais instruções
1
Criar um procedimento armazenado usando a sintaxe CRIAR procedurename PROCEDIMENTO . Digite as seguintes instruções para criar um procedimento armazenado chamado sporderscopy que copia o conteúdo da tabela Pedidos para a tabela OrdersCopy .
CRIAR PROCEDIMENTO sporderscopy
AS
SELECT * em OrdersCopy
FROM Orders
O procedimento acima irá criar uma cópia da tabela de pedidos . Você também pode adicionar parâmetros , recompilar e adicionar criptografia com a afirmação de criar procedimento. Os parâmetros de ajudá-lo a aceitar valores no procedimento que são necessários para o resultado desejado. Os parâmetros de saída são usados para armazenar valores que são passados de volta para outro programa. Parâmetros opcionais tem um valor padrão e não precisa de um valor de entrada. A opção recompilação torna o sistema compilar o procedimento cada vez que é executado. A opção de criptografia permite que o usuário final para obter o resultado final sem ver o código.
2
procedimentos armazenados podem aceitar valores de entrada e passar de volta os valores de saída para o programa chamando os procedimentos armazenados , declarando os parâmetros . Os parâmetros de entrada pode ser opcional , se você atribuir um valor padrão para eles , criando o procedimento. Os parâmetros de saída são definidas especificando a palavra-chave OUTPUT.
CRIAR PROCEDIMENTO sporderscount
@ total_order dinheiro OUTPUT,
@ order_date smalldatetime = NULL,
@ varchar customer_var (40 ) = '% ' em
AS
SELECT @ total_order = SUM ( total_order )
DE ordens Cadastre clientes
ON Encomendas.CódigoDaEncomenda = customers.orderID
WHERE ( order_date > = @ date_var )
AND ( CustomerName como @ customer_var )
O procedimento acima tem dois parâmetros de entrada e retorna um parâmetro de saída . O parâmetro de saída é identificado pela palavra-chave OUTPUT.
3
Executar ou executar um procedimento usando a sintaxe EXEC procedurename . Digite os seguintes comandos SQL para executar o procedimento armazenado :
DECLARE @ mytotalorder dinheiro
EXEC spordercount @ mytotalorder = @ total_order saída , '2010 -03- 21 ' , ' D % '< br >
a instrução Declare cria uma variável de saída que irá armazenar o valor do parâmetro de saída do procedimento armazenado. A declaração de execução é utilizado para executar o procedimento armazenado . Uma vez que ambos os parâmetros de entrada têm valores padrão , eles não precisam ser atribuído um valor durante a execução do procedimento
4
retornar valores de procedimentos armazenados , adicionando a seguinte declaração: .
DEVOLVER @ order_count
a declaração acima em um procedimento armazenado retornará um valor e armazená-lo em uma variável no programa chamar o procedimento. Você pode usar um parâmetro de retorno ou o parâmetro de saída para passar de volta um valor para o programa de chamada. Na declaração acima , o procedimento retornará o número de linhas na tabela de pedidos .
5
Use o comando ALTER procedurename procedimento para modificar o procedimento armazenado . A sintaxe é semelhante ao processo de criação . Digite as seguintes instruções para alterar o spordercount procedimento para adicionar outro estado variável. O procedimento armazenado irá restringir as linhas com base no estado de residência em vez do nome .
ALTER PROCEDURE sporderscount
@ order_state varchar (30 ) = NULL,
@ total_order dinheiro OUTPUT,
@ order_date smalldatetime = NULL
AS
SELECT @ total_order = soma ( total_order )
DE ordens Cadastre clientes
ON Encomendas.CódigoDaEncomenda = customers.orderID
WHERE ( order_date > = @ date_var )
AND ( CustomerState = @ order_state )
6
Exclua o armazenados procedimento usando o comando procedurename pROCEDIMENTO DROP. Você não pode desfazer o efeito do comando da gota. Excluir o procedimento armazenado spordercount inserindo a seguinte declaração :
DROP PROCEDURE sporderscount