Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Ejecutar un stored

Estas en el tema de Ejecutar un stored en el foro de Oracle en Foros del Web. Hola: Alguien me puede ayudar con el siguiente problema: Ejecuto mi stored procedure declare v_uno char; v_dos varchar2(100); begin sp_grupo(sq_grupo.nextval,'prueba',v_uno,v_dos); dbms_output.put_line('variable 1 trae '||v_uno); dbms_output.put_line('variable ...
  #1 (permalink)  
Antiguo 31/07/2007, 16:40
 
Fecha de Ingreso: julio-2007
Mensajes: 2
Antigüedad: 16 años, 9 meses
Puntos: 0
Pregunta Ejecutar un stored

Hola:

Alguien me puede ayudar con el siguiente problema:
Ejecuto mi stored procedure

declare
v_uno char;
v_dos varchar2(100);
begin
sp_grupo(sq_grupo.nextval,'prueba',v_uno,v_dos);
dbms_output.put_line('variable 1 trae '||v_uno);
dbms_output.put_line('variable 2 trae '||v_dos);
end;

y me sale el siguiente error:

ERROR at line 5:
ORA-06550: line 5, column 26:
PLS-00357: Table,View Or Sequence reference 'SQ_GRUPO.NEXTVAL' not allowed in this context
ORA-06550: line 5, column 4:
PL/SQL: Statement ignored

GRACIAS.
  #2 (permalink)  
Antiguo 31/07/2007, 21:12
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
Re: Ejecutar un stored

El problema lo estas teniendo en el procedimiento; prueba asignarle el Nextval a una variable y pasarsela a dicho procedimiento.

Las variables uno y dos deben ser el el procedimiento sp_grupo del tipo IN OUT si deseas que te traigan un valor
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 01/08/2007, 08:33
 
Fecha de Ingreso: julio-2007
Mensajes: 2
Antigüedad: 16 años, 9 meses
Puntos: 0
Exclamación Re: Ejecutar un stored

Hola:
Te muestro mi procedimiento:

CREATE OR REPLACE PROCEDURE SP_AMB_GRUPO (
V_ST_PROCESO CHAR,
V_CD_GRUPO TNS020_ENTIDAD_GSI.CD_ENTIDAD_GSI%TYPE,
V_NB_GRUPO TNS020_ENTIDAD_GSI.NB_ENTIDAD_GSI%TYPE,
V_FLG_OK OUT CHAR,
V_MSG_ERROR OUT VARCHAR2
) IS


BEGIN


INSERT INTO TNS029_GRUPO
( CD_GRUPO,
NB_GRUPO
)
VALUES
( SQ_GRUPO.NEXTVAL ,
V_NB_GRUPO
);

COMMIT;
V_FLG_OK := '0';
V_MSG_ERROR := 'Alta Exitosa';
END IF;
END IF;

END IF;

EXCEPTION WHEN OTHERS THEN
ROLLBACK;
V_FLG_OK := '1';
V_MSG_ERROR := 'Error: No se insertó el registro.';


END;

En donde puede estar el error
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:32.