DB2 - CONVERTIR A PROCEDIMIENTO ALMACENADO EN BD2

 
Vista:
sin imagen de perfil
Val: 7
Ha mantenido su posición en DB2 (en relación al último mes)
Gráfica de DB2

CONVERTIR A PROCEDIMIENTO ALMACENADO EN BD2

Publicado por caleb (3 intervenciones) el 07/12/2020 17:05:07
Buenos días, disculpen tengo un pequeño problema convirtiendo una vista en procedimiento almacenado, coloque solo los 4 primeros datos de la vista pero no funciona y ya estuve revisando en tutoriales pero hay poca información de esto y no encuentro lo que necesito. Adjunto el código y pantallazo del error, muchas gracias de antemano!


1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE PROCEDURE "DB2ADMIN"."PROCEDURE_STOCK"
   (
   IN p_tiempo INTEGER (10),
   IN p_mes INTEGER (10),
   IN p_fecha DATE,
   IN p_hora TIME
   )
LANGUAGE SQL
 
BEGIN
INSERT INTO PTIVSTOCKTRANSACTION_PRUEBA (ANO, MES, FECHA, HORA) VALUES (p_tiempo, p_mes, p_fecha, p_hora)
END
 
EXEC PROCEDURE_STOCK 2020, 12, '2020-12-07', '12:22:17'


vista
Error
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Manuel
Val: 3
Ha disminuido su posición en 2 puestos en DB2 (en relación al último mes)
Gráfica de DB2

CONVERTIR A PROCEDIMIENTO ALMACENADO EN BD2

Publicado por Manuel (1 intervención) el 07/12/2020 17:37:35
No estoy seguro al 100% porque no trabajo con DB2 normalmente, pero si mal no recuerdo de las pocas veces que he tocado DB2 y normalmente, cuando lo he tocado, pues no es con SQL, sino COBOL, pero prueba cambios como
La parte BEGIN END requeriría establecer nombres, por ejemplo

1
2
3
4
X:
BEGIN
INSERT INTO PTIVSTOCKTRANSACTION_PRUEBA (ANO, MES, FECHA, HORA) VALUES (p_tiempo, p_mes, p_fecha, p_hora)
END X

Después no marcas el final del procedimiento, además de que cada instrucción debe terminar en ";", el código quedaría algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--#SET TERMINATOR @
 
CREATE PROCEDURE "DB2ADMIN"."PROCEDURE_STOCK"
(
IN p_tiempo INTEGER (10),
IN p_mes INTEGER (10) ,
IN p_fecha DATE ,
IN p_hora TIME
)
 
LANGUAGE SQL
 
Proc1:
BEGIN
INSERT INTO PTIVSTOCKTRANSACTION_PRUEBA (ANO, MES, FECHA, HORA) VALUES (p_tiempo, p_mes, p_fecha, p_hora);
END Proc1
@

Y es posible que me olvide algo más, porque ya te digo que no suelo tocar DB2. Pero mira esto y a partir de ahí seguimos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha mantenido su posición en DB2 (en relación al último mes)
Gráfica de DB2

CONVERTIR A PROCEDIMIENTO ALMACENADO EN BD2

Publicado por caleb (3 intervenciones) el 07/12/2020 18:07:01
Muchas gracias por la pronta respuesta.Tampoco se manejar DB2 muy bien, y ahora me aparecen 2 errores.. intente cambiar el orden en todas las partes pero no funcionó.

Acá te muestro el que me mandaste
Error1
Error2

Seguiré intentando otras opciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar