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 04-10-2004
pigu pigu is offline
Miembro
 
Registrado: jul 2004
Posts: 12
Poder: 0
pigu Va por buen camino
Dudas con Stored Procedures

Hola a todos:

Como estan???. Espero que muy bien.
Les comento...
Tengo algunas dudas con los stored procedures en interbase ya que estoy acostrumbrado a crear procedimientos almacenados en sql server y a la hora de programarlos en interbase la cosa cambia un poco no???
Mis dudas son estas:

Ejemplo de stp en sql server:
Código SQL [-]
create procedure nombre_stored 
@variable tipo_variable,
@variable tipo_variable,
etc, etc...
as
sentencia sql...

Puedo crear en interbase por ejemplo, un procedimiento que reciba parametros y los inserte
en una tabla???
Como???
Podrian darme un ejemplo?
Desde ya muchas gracias por estar siempre de ese lado
Responder Con Cita
  #2  
Antiguo 05-10-2004
Avatar de mlara
[mlara] mlara is offline
Miembro Premium
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 667
Poder: 21
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
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


La franja horaria es GMT +2. Ahora son las 13:06:57.


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