Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2011
DasGrun DasGrun is offline
Miembro
 
Registrado: abr 2008
Posts: 109
Poder: 17
DasGrun Va por buen camino
Insertar en Un Stored Procedure

Hola, Tengo este SP, con la Finalidad que tiene que almacenar los datos Retornados a una tabla HIST_EVA_PROVEE por medio de un parámetro de Un Campo PROVEEDOR_ID.
este es el código:
Código SQL [-]
CREATE PROCEDURE SP_HIST_EVA_PROVEE(
  ID_PROVEEDOR SMALLINT DEFAULT NULL)
RETURNS(
  PROVEEDOR_ID SMALLINT,
  PROVEEDOR VARCHAR(255) CHARACTER SET ISO8859_1,
  RTN VARCHAR(10) CHARACTER SET ISO8859_1,
  CREADO_POR VARCHAR(255) CHARACTER SET ISO8859_1,
  FECHA_CLAS DATE,
  PRECIO NUMERIC(18, 2),
  CUMPLIMIENTO NUMERIC(18, 2),
  DISPONIBILIDAD NUMERIC(18, 2),
  TIEMPO_ENTREGA NUMERIC(18, 2))
AS
BEGIN
  /* Procedure body */
FOR
  SELECT
               PROVEEDORES.PROVEEDOR_ID,
               PROVEEDORES.PROVEEDOR,
               PROVEEDORES.RTN,
               MAESTRO_USUARIO.NOMBRE_COMPLETO,
               PROVEEDORES.FECHA_CLASIFI,
               PROVEEDORES.PREG_PRECIO_COMP,
               PROVEEDORES.PREG_CUMP_ESPECIF,
               PROVEEDORES.PREG_DISP_PRODUC,
               PROVEEDORES.PREG_TIEM_REPTA
     FROM
               PROVEEDORES
     INNER JOIN MAESTRO_USUARIO ON (PROVEEDORES.MAESTRO_USUARIO_ID = MAESTRO_USUARIO.MAESTRO_USUARIO_ID)
 WHERE
 PROVEEDORES.PROVEEDOR_ID = :ID_PROVEEDOR
INTO
  :PROVEEDOR_ID,
  :PROVEEDOR,
  :RTN,
  :CREADO_POR,
  :FECHA_CLAS,
  :PRECIO,
  :CUMPLIMIENTO,
  ISPONIBILIDAD,
  :TIEMPO_ENTREGA
DO
 BEGIN
     --Agregar nuevo Registro Historico
       INSERT INTO HIST_EVA_PROVEE(HIST_ID, PROVEEDOR_ID, PROVEEDOR, RTN, CREADO_POR, FECHA_CREACION, PRECIO, CUMPLIMIENTO, DISPONIBILIDAD, TIEMPO_ENTREGA)
      VALUES (0, :PROVEEDOR_ID, :PROVEEDOR, :RTN, :CREADO_POR, :FECHA_CLAS, :PRECIO, :CUMPLIMIENTO, ISPONIBILIDAD, :TIEMPO_ENTREGA);
  END
 END;

me Presenta este Mensaje de error:

Invalid Token
Invalid Request BLR at offset 68.
Procedure SP_HIST_EVA_PROVEE is no selectable(it does not contain a SUSPEND Statement)


esperando de Su Ayuda.

Gracias
__________________
Hasta Mis Huesos son Codificados?
Responder Con Cita
  #2  
Antiguo 13-12-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.070
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues, así por encima, diría que el mensaje informa de que no has puesto un "suspend", concretamente aquí, al final:
Código SQL [-]
  DO
  BEGIN     --Agregar nuevo Registro Historico     
    INSERT INTO HIST_EVA_PROVEE(HIST_ID, PROVEEDOR_ID, PROVEEDOR, RTN, 
                                                CREADO_POR, FECHA_CREACION, PRECIO, CUMPLIMIENTO, DISPONIBILIDAD, TIEMPO_ENTREGA)
    VALUES (0, :PROVEEDOR_ID, :PROVEEDOR, :RTN, :CREADO_POR, :FECHA_CLAS, :PRECIO, :CUMPLIMIENTO, ISPONIBILIDAD, :TIEMPO_ENTREGA);

    SUSPEND;    /*   <<--------------    */

  END
END
Responder Con Cita
  #3  
Antiguo 13-12-2011
DasGrun DasGrun is offline
Miembro
 
Registrado: abr 2008
Posts: 109
Poder: 17
DasGrun Va por buen camino
Gracias Casimiro, he modificado el Codigo,

ahora tengo este Mensaje de error:

Arthmetic overflow or division by zero or haz ocurred aritmetic exception, numeric owerflow or string trunation. At procedure SP_HIST_EVA_PROVEE line 16


este es el codigo de la creacion de la Tabla HIST_EVA_PROVEE:

Código SQL [-]
CREATE TABLE HIST_EVA_PROVEE (
  HIST_ID BIGINT NOT NULL,
  PROVEEDOR_ID SMALLINT,
  RTN VARCHAR(10) CHARACTER SET ISO8859_1 COLLATE ES_ES_CI_AI,
  PROVEEDOR DESCRIPTION,
  CREADO_POR DESCRIPTION,
  FECHA_CREACION FECHA,
  PRECIO CLASIFICACION,
  CUMPLIMIENTO CLASIFICACION,
  DISPONIBILIDAD CLASIFICACION,
  TIEMPO_ENTREGA CLASIFICACION,
  CALCULADO COMPUTED BY (((PRECIO + CUMPLIMIENTO + DISPONIBILIDAD + TIEMPO_ENTREGA) / 16) * 100),
  EVALUACION COMPUTED BY (iif((CALCULADO >= 0) and (CALCULADO <60), 'DEFICIENTE',
    (iif((CALCULADO >59) and (CALCULADO <80), 'BUENO', iif((CALCULADO >79) and (CALCULADO <90), 'MUY BUENO', iif((CALCULADO >89), 'EXCELENTE', '')))))));


ALTER TABLE HIST_EVA_PROVEE ADD PRIMARY KEY (HIST_ID);


SET TERM ^ ;

CREATE TRIGGER BI_HIST_EVA_PROVEE FOR HIST_EVA_PROVEE
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
  IF (NEW.HIST_ID IS NULL OR NEW.HIST_ID = 0) THEN
      NEW.HIST_ID = GEN_ID(HIST_EVA_PROVEE_HIST_ID_GEN, 1);
END^

SET TERM ; ^

Gracias Nuevamente
__________________
Hasta Mis Huesos son Codificados?

Última edición por Casimiro Notevi fecha: 13-12-2011 a las 17:34:44.
Responder Con Cita
  #4  
Antiguo 13-12-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.070
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero eso es otro procedure.
Recuerda nuestra guía de estilo, preguntas distintas en hilos distintos.
Responder Con Cita
  #5  
Antiguo 13-12-2011
DasGrun DasGrun is offline
Miembro
 
Registrado: abr 2008
Posts: 109
Poder: 17
DasGrun Va por buen camino
No es otro Procedure es el Mismo. siempre Utilizando el SP del Inicio, luego que realize los cambios que me dijo, me produce este Mensaje de error,

Gracias
__________________
Hasta Mis Huesos son Codificados?
Responder Con Cita
  #6  
Antiguo 13-12-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.070
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ejecuta cada parte por separado, para ver dónde está el problema.
Primero el create table. Si no hay error, entonces el alter table. Y así, uno a uno.
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
Stored Procedure gluglu Conexión con bases de datos 16 24-02-2011 17:41:24
Stored Procedure !!! Ledian_Fdez C++ Builder 0 02-03-2010 14:01:29
Stored Procedure StartKill MySQL 2 27-08-2008 06:18:44
Ver los Stored Procedure tgsistemas SQL 0 06-04-2004 17:18:22
Stored Procedure tgsistemas SQL 1 27-02-2004 13:10:33


La franja horaria es GMT +2. Ahora son las 15:53:26.


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