Variáveis são utilizadas em todos os momentos em stored procedures, por exemplo, para passarmos um parâmetro de entrada, é a variável que irá armazenar o valor que digitarmos para depois realizar as operações de busca, geralmente consultas e comparações. Sempre utilizaremos para guardar os valores, ?resgatados?, por exemplo, de um comando SQL como o select, também quando realizarmos procedures para inserção de dados principalmente, é nas variáveis que ficarão armazenados os valores a serem inseridos, ou seja, são temporários, pois depois que o commit for efetuado as variáveis são eliminadas. Outro caso, quando procedures envolvem cálculos, também é nas variáveis que os valores digitados serão armazenados, sendo que depois da operação é outra variável que receberá o resultado para depois passar para o banco.
E ainda nas stored procedures podemos usar a instrução FOR DO (firebird) que faz com que seja possível termos mais de uma linha de retorno, pois quando o banco ?perceber? este comando, criará um cursor, onde por meio do laço do for, ?examinará?, cada linha e colunas de dados contidos nas tabelas no banco, comparando o valor digitado no parâmetro ou o já programado, retornando o máximo de resultados possíveis.
Stored Procedure é uma coleção de comandos em SQL para dispensamento de Banco de dados. Encapsula tarefas repetitivas, aceita parâmetros de entrada e retorna um valor de status (para indicar aceitação ou falha na execução). O procedimento armazenado pode reduzir o tráfego na rede, melhorar a performance, criar mecanismos de segurança, etc.
Exemplo em SQL SERVER:
Create procedure busca
@nomedebusca varchar (50)
as
select nome1, nome2
from nome_da_tabela
where nome = @nomedebusca
Exemplo em FIREBIRD:
SET TERM ^;
CREATE PROCEDURE alteraCidade ( chUF char(2), nomeC varchar(40))
AS
BEGIN
UPDATE Cidade
SET UF=:chUF
WHERE nome=: nomeC;
SUSPEND;
END ^
SET TERM; ^