Aprender a usar procedimentos armazenados (Stored Procedure) é um dos cursos necessários para programadores ASP. Todos os grandes bancos de dados suportam procedimentos armazenados, como Oracle, MS SQL, etc. (mas o MS Access não oferece suporte. No entanto, consultas parametrizadas podem ser usadas no Access).
Há muitos benefícios no uso de procedimentos armazenados. Ele pode encapsular lógica de dados complexa e aproveitar ao máximo as vantagens de grandes bancos de dados. Sabemos que o ASP não é adequado para operações complexas de dados e o acesso ao banco de dados por meio do OLD DB consome recursos do sistema porque os dados precisam ser transferidos entre o ASP e o banco de dados. Na verdade, se o banco de dados desempenha apenas a função de armazenamento de dados, então suas funções estão longe de serem utilizadas.
Para obter informações sobre como criar um procedimento armazenado, consulte a documentação relevante do MS SQL.
Este artigo apresenta como os procedimentos armazenados são usados no ASP.
Uma simples instrução SQL:
selecione ID, nome, imagem, hora, dever de emprego
Podemos criar um procedimento armazenado:
CRIAR PROCEDIMENTO sp_employ
COMO
selecione ID, nome, imagem, hora, dever de emprego
Ir
E a instrução SQL:
selecione ID,Nome,Imagem,Hora,Dever de emprego onde ID=10230
O procedimento armazenado correspondente é: (substitua nosso procedimento armazenado existente por Alter)
ALTERAR PROCEDIMENTO sp_employ
@inIDint
COMO
selecione ID,Nome,Imagem,Hora,Dever de empregar onde ID=@inID
Ir
Vamos comparar a situação do SQL e dos procedimentos armazenados no ASP. Primeiro, vamos dar uma olhada na execução direta do SQL:
<%
dim Conexão, strSQL, rs
definir Conexão = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=webData;uid=usuário;pwd=senha"
strSQL = "selecione ID,Nome,Imagem,Hora,Dever de empregar"
Definir rs = Conn.Execute(strSQL)
%>
Vejamos como executar o procedimento armazenado:
<%
dim Conexão, strSQL, rs
definir Conexão = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=webData;uid=usuário;pwd=senha" 'fazer conexão
strSQL = "sp_employ"
Definir rs = Conn.Execute(strSQL)
%>
A execução de um procedimento armazenado com parâmetros é bastante semelhante:
<%
dim Conexão, strSQL, rs, myInt
meuInt = 1
definir Conexão = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=webData;uid=usuário;pwd=senha"
strSQL = "sp_myStoredProcedure" & myInt
Definir rs = Conn.Execute(strSQL)
%>
Você pode pensar que usar procedimentos armazenados em ASP é muito simples. certo! É tão simples.