Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2007
Kenobi Kenobi is offline
Miembro
 
Registrado: mar 2007
Posts: 191
Poder: 18
Kenobi Va por buen camino
consultas a procedimientos almacenados....

Saludos amigos....
entiendo que el titulo define lo ideal a hacer si lo que queremos es aumentar el rendimiento, pero la pregunta es como ....

ejemplo ...
tengo una consulta sencilla

SELECT *
FROM tabla

ok se que para crear el procedimiento solo tengo que hacer esto ...

CREATE PROCEDURE consultaenTabla
as
SELECT *
FROM tabla

y listo pero que tal si mi consulta es con parametro

SELECT *
FROM tabla
WHERE campo=:ValordeEntrada

aca la cosa cambia como le digo al procedure que va a recibir un parametro y que tal si son varios como lo hago, busque en la red y hay ejemplo pero confusos y yo quiero unos sencillo para entender y arrancar....

perdon por esta pregunta tonta....
Responder Con Cita
  #2  
Antiguo 23-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
Empezado por Kenobi
ok se que para crear el procedimiento solo tengo que hacer esto ...

CREATE PROCEDURE consultaenTabla
as
SELECT *
FROM tabla

y listo [...]
...De listo nada, si pruebas eso verás que no funciona como esperas. Primero has de comprender exactamente lo simple para después continuar.

Además, ¿por qué crear un SP tan simple? Para ello crea una consulta con parámetros y la Preparas (Query1.Prepare). Tampoco es plan de abusar de los SPs.

Quizás una Vista (View) fuese más optimo para lo que planteas, siempre y cuando hayas más tablas involucradas... por ejemplo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 23-03-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Oka vamos haciendolo con los motores que manejo

Con SqlServer

Código SQL [-]
IF EXISTS (SELECT name 
    FROM   sysobjects 
    WHERE  name = N'ConsultaEnTabla' 
    AND    type = 'P')
    DROP PROCEDURE ConsultaEnTabla
GO
CREATE PROCEDURE ConsultaEnTabla
       (
          @PVCriterio Varchar(100)  --Define el criterio de búsqueda
        )
AS

SELECT *
FROM tabla
WHERE campo=@PVCriterio
Return

Con Db2/400

Código SQL [-]
CREATE PROCEDURE Libreria/ConsultaEnTabla                                        
  (                                                                   
   in PVCriterio Varchar(100) --Define el criterio de búsqueda
  )                                                                   
                                                                      
  DYNAMIC RESULT SETS 1                                               
  LANGUAGE SQL                                                        
  SPECIFIC ConsultaEnTabla
  BEGIN ATOMIC                                        
                Declare CrBusqueda Cursor With Return For 
                        SELECT *
                         FROM tabla
                         WHERE campo=PVCriterio;

                Open CrBusqueda;


Con Mysql

Código SQL [-]
DROP PROCEDURE IF EXISTS ConsultaEnTabla;
CREATE DEFINER=`usuario`@`%` PROCEDURE ConsultaEnTabla
            (
            in PVCriterio Varchar(100) --Define el criterio de búsqueda
            )  
 BEGIN
                        SELECT *
                         FROM tabla
                         WHERE campo=PVCriterio;
 END
__________________
Conoce mi blog http://www.edgartec.com

Última edición por poliburro fecha: 23-03-2007 a las 16:36:03.
Responder Con Cita
  #4  
Antiguo 23-03-2007
Kenobi Kenobi is offline
Miembro
 
Registrado: mar 2007
Posts: 191
Poder: 18
Kenobi Va por buen camino
de eso se trata amigo Lepe...

la consulta sencilla es eso sencilla para aprender desde bajito, y claro es una consulta sencilla que se puede hacer con un query con parametros (de hecho asi estan en mi aplicacion) o con una vista cosa de acceder desde varios puntos (reportes, aplicaciones) pero lo que quiero es ver como seria con procedures para comenzar a aplicarlos en cosas mayores ....

gracias por su tiempo amigos
Responder Con Cita
  #5  
Antiguo 23-03-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por Kenobi
pero lo que quiero es ver como seria con procedures para comenzar a aplicarlos en cosas mayores ....

gracias por su tiempo amigos

De los tres que te puse no te sirve ninguno?

Bueno, aver te agrego este con firebird

Código SQL [-]
firebird
CREATE PROCEDURE ConsultaEnTabla (PVCriterio Varchar(100)) 
AS BEGIN 
     SELECT *
       FROM tabla
      WHERE campo=PVCriterio;
END
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
procedimientos almacenados UREÑA SQL 3 07-03-2007 22:19:24
procedimientos almacenados davidgaldo SQL 7 09-11-2006 17:28:33
Consultas dinámicas en procedimientos almacenados sur-se Firebird e Interbase 1 15-11-2004 18:04:24
Consultas anidadas en procedimientos almacenados Choclito Firebird e Interbase 7 18-07-2004 22:06:33
Procedimientos Almacenados Gabriel A Reyes MS SQL Server 5 07-07-2003 14:08:46


La franja horaria es GMT +2. Ahora son las 13:30:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi