Muchas veces necesitamos tener un código que sea secuencial o autonumerico, en Firebird se llama generador y se crea con el siguiente código:
CREATE GENERATOR GEN_CLIENTE_DIRECCION;
Luego creamos un trigger el cual incrementara en 1 usando la funcion GEN_ID el generador, este es el código:
CREATE TRIGGER BI_CLIENTE_DIRECCION_ID_DIR FOR CLIENTE_DIRECCION
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
IF (NEW.ID_TABLA IS NULL OR NEW.ID_TABLA = 0) THEN
NEW.ID_TABLA = GEN_ID(GEN_CLIENTE_DIRECCION, 1);
END;
En PowerBuilder no se necesita programar nada y se incrementara cada vez que se haga Update al DataWindow.
lunes, 26 de octubre de 2015
lunes, 19 de octubre de 2015
Usar Stored Procedures en Packages de Oracle en DataWindow
Para poder usar cualquier Stored Procedure que se encuentre en un Package de Oracle en un DataWindow, seguimos los siguientes pasos:
1. Buscamos la conexión de la Base de Datos Oracle que tenemos, clic derecho Properties:
2. Activamos la casilla List Package Subprograms de la pestaña System:
1. Buscamos la conexión de la Base de Datos Oracle que tenemos, clic derecho Properties:
2. Activamos la casilla List Package Subprograms de la pestaña System:
domingo, 18 de octubre de 2015
Usando Stored Procedure Firebird en DataWindow
El siguiente post es la respuesta a las preguntas que he recibido de como usar un Stored Procedure creado en Firebird en un DataWindow.
Primero: El siguiente Stored Procedure en Firebird
CREATE PROCEDURE USP_LISTA_RUTA(
v_RUTA VARCHAR(25))
RETURNS( COD_RUT VARCHAR(4) ,
NOM_RUT VARCHAR(25))
AS
BEGIN
FOR SELECT COD_RUT,
NOM_RUT
FROM RUTA
WHERE NOM_RUT CONTAINING :v_RUTA
INTO :COD_RUT,
:NOM_RUT
DO SUSPEND;
END;
Segundo: En PowerBuilder
1. Creamos un nuevo objeto DataWindow:
Primero: El siguiente Stored Procedure en Firebird
CREATE PROCEDURE USP_LISTA_RUTA(
v_RUTA VARCHAR(25))
RETURNS( COD_RUT VARCHAR(4) ,
NOM_RUT VARCHAR(25))
AS
BEGIN
FOR SELECT COD_RUT,
NOM_RUT
FROM RUTA
WHERE NOM_RUT CONTAINING :v_RUTA
INTO :COD_RUT,
:NOM_RUT
DO SUSPEND;
END;
Segundo: En PowerBuilder
1. Creamos un nuevo objeto DataWindow:
2. Elegimos SQL Select, clic en Next.
3. Clic en el botón Cancel.
4. Clic en Convert To Syntax de la opción Design
6. Creamos un argumento
8. Debemos escribir lo siguiente:
9. Clic en Next
10. Clic en Finish
Nota:
1. Para el ejemplo usamos un Stored Procedure Firebird seleccionable (porque contiene el comando SUSPEND).
2. Se ejecuta un Stored Procedure Firebird como si fuera una tabla.