FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Stored Procedure genera codigo
Hola Amigos, estoy desarrollando una Stored Procedure que genera un codigo basado en tres elementos:
año + mes + numero de un generador. como variables de estrada tiene: V_ANO VARCHAR(4) V_MES VARCHAR(2) Estas corresponde al proceso con Delphi de la Instruccion 'Now' por lo que contiene el año y mes actual. Una tabla 'Utilitarios' tiene los campos ano, mes que guardan el año y el mes sin actualizar. El Stored Procedure verifica si la fecha de la tabla Utilitarios es diferente a la actual. Y si lo es, la actualiza y coloca el generador a 100000 que el numero inicial. Pues bien al compilar de un script con IbEasy me manda un mensaje de error : "SET" COMPOSICION DE LINEA DESCONOCIDA. Aqui va la stored procedure. SET TERM ^; CREATE PROCEDURE CREACOD_VALE( V_ANO Varchar(4), V_MES Varchar(2)) RETURNS ( CODIGO VARCHAR(12)) AS DECLARE VARIABLE COD_VALE NUMERIC ; DECLARE VARIABLE P_ANO VARCHAR(4); DECLARE VARIABLE P_MES VARCHAR(2); BEGIN SELECT ANO, MES FROM UTILITARIOS INTO :P_ANO, :P_MES; IF (:P_MES <> :V_MES) THEN BEGIN INSERT INTO UTILITARIOS ( ANO, MES ) VALUES ( :V_aNO, :V_MES ); SET GENERATOR VALE_GENER TO 100000 END COD_VALE := GEN_ID(VALE_GENER,1) CODIGO = :V_ANO||:V_MES||CAST(COD_VALE AS CHAR(6)) END ^ SET TERM; ^ Favor ayudarme a resolver este problema. Gracias. |
#2
|
||||
|
||||
Hola.
Me parece que el fallo te lo da en la linea: Es una instrucción DDL (Data Definition Language), y en triggers y proc. almacenados no se pueden usar instrucciones DDL, sólo DML (Data Manipulation Language)
__________________
Progress Openedge https://abevoelker.com/progress_open...dered_harmful/ Delphi forever... |
|
|
|