Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 05-10-2004
Avatar de mlara
[mlara] mlara is offline
Miembro Premium
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 667
Poder: 24
mlara Va por buen camino
El siguiente es un ejemplo muy sencillo de un SP que hace una operación aritmética, y luego la inserta en una tabla:

Código SQL [-]
CREATE PROCEDURE "Oper"(
  numero1 DECIMAL(18, 4),
  numero2 DECIMAL(18, 4),
  signo CHAR(1))
  RETURNS(
  out_result DECIMAL(18, 4))

AS

BEGIN

  IF (signo = '+') THEN
    out_result = numero1 + numero2;
  ELSE IF (signo = '-') THEN
    out_result = numero1 - numero2;
  ELSE IF (signo = '*') THEN
    out_result = numero1 * numero2;
  ELSE IF (signo = '/') THEN
    out_result = numero1 / numero2;

  insert into NombreTabla (resultado) values(ut_result);

  SUSPEND;
END

Este se llama un "select procedure", algo así como un procedimiento seleccionable. También existen los procedimientos ejecutables, pero para que comprendas mejor te invito a leer la documentación de Interbase. Si trabajas con una versión posterior a la 6.0, no importa, igual puede leer los documentos de esa versión.

En este caso para ejecutar el procedimiento podrías escribir:

Código SQL [-]
select * from "Oper"(4.5, 3, '*');

Si le quitas la sentencia SUSPEND al procedimiento entonces se convierte en un procedimiento ejecutable. En ese caso podrías llamar al procedimiento así:

Código SQL [-]
execute procedure "Oper"(4.5, 3, '*');

Mucha suerte.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre.

Última edición por mlara fecha: 05-10-2004 a las 03:00:35.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 03:26:24.


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