Ver Mensaje Individual
  #8 (permalink)  
Antiguo 14/10/2004, 07:39
Bluesman74cl
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 22 años, 1 mes
Puntos: 9
Cita:
Iniciado por Saruman
disculpen, pero me pueden explicar para que es el procedimiento almacenado??? se ve interesante.... algo rapidito nadamas

Bueno, la finalidad de un procedimiento almacenado consiste en tener en el base de datos todas tus consultas o querys que realizas normalmente en una aplicación, por ejemplo; insertar clientes, traer las nominas, modificar una factura, etc...

Como crear un Store Procedure o SP, tienes varias formas, la primera es utilizar el Enterprise Manager del SQL Server, debes seleccionar la base de datos e ir a Procedimientos Almacenados o Store Procedure, con el botón del lado derecho le dices "Nuevo SP"... instantaneamente te abrirá una ventana que diría algo similar a esto:
Código:
CREATE PROCEDURE [OWNER].[PROCEDURE NAME] AS
Esto te indica la estructura que debes crear para el SP.

Ahora vamos a crear un SP que nos traiga la información de todos nuestros clientes ordenados por su Codigo (obviamente imaginate esto)
Código:
CREATE PROCEDURE TraerClientes
AS
   Select Codigo, Nombre 
   From Clientes (nolock) 
   Order By Codigo
Después desde algún programa lo único que debes hacer es ejecutar ese SP al igual que una consulta cualquiera y te retorna un conjunto de datos que los puedes tirar a un Recordset.. ejemplo:

Dim objRec As ADODB.Recordset
Set objRed = objCon.Execute("TraerClientes")

Como pasarle valores a un SP, es muy simple, ahora vamos a insertar un nuevo cliente, para eso vamos a pasar el valor del código y el nombre.
Código:
CREATE PROCEDURE AgregarCliente
   @Codigo  int,
   @Nombre varchar(100)
AS
   Insert Clientes (Codigo, Nombre)
   Values (@Codigo, @Nombre)
Con esto te agrega un cliente pero no retorna nada, para ejecutarlo solo deberías hacer esto:

Dim Sql As String
Sql = "AgregarCliente " & Codigo & ", '" & Nombre & "'"
objCon.Execute Sql

Para enviar parámetros, las variables donde las recibes deben estar con un "@" siempre.
__________________
Buena Vida...
Francisco