Paquetes

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
  

Notael Jue, 03 Jun 2004 3:47 pm

Yo estoy empezando mis estudios acerca de los paquetes y quería saber si puedo utilizar una instrucción SQL en un procedimiento que está en el cuerpo de este paquete, porque cuando creo este paquete me da errores y utilizar el SHO ERR para mostrar los errores siz encontrado la selección cuando se esperaba que los otros símbolos: sigue el paquete
Código: Seleccionar todo
Create PACKAGE OURPACK is
             TYPE t_testtype IS TABLE OF NUMBER  INDEX BY BINARY_INTEGER;
             procedure TestProc(p_TestArray t_testtype);
             end;

create PACKAGE BODY OURPACK as
   procedure TestProc(p_TestArray t_testtype) is
              v_variavel_local OurPack.testproc(p_testarray);
              QT_REG  number(10)    := 15;
              L_CDEMP CHAR(2)       := '01';
              L_CDFIL CHAR(4)       := '0001';
              L_NUSEQMOV CHAR(6)    := '000003';
              L_NUMERO  CHAR(10);
              j number(10) := 1;
              i number(10) := 0;
              begin
                while i < (QT_REG - 1) loop
                begin
                  v_variavel_local(i) := (
                                           select nuseqite
                                           from drvicv
                                           where
                                           cdemp = L_CDEMP and
                                           cdfil = L_CDFIL and
                                           nuseqmov = L_NUSECMOV
                                           );
                  i := (i + 1);
                  while j <> QT_REG loop
                  begin
                    j := (j + 1);
                      if v_variavel_local(i + 1) <> v_variavel_local(j) then
                        L_NUMERO := (to_char(v_variavel_local(j)));
                  end;
                end;
              end;
si alguien tiene un buen material o tutorial , Te agradeceria... falou
MuLtAnI
Ubicación: Videira - SC


Notael Jue, 03 Jun 2004 10:32 pm

Hola MuLtAnI primero, me tomé la libertad de editar tu post-poner las etiquetas de código para mostrar el código... ¿Vale?

Sobre tu pregunta:
Código: Seleccionar todo
v_variavel_local(i) := (
  select nuseqite
  from drvicv
  where
  cdemp = L_CDEMP and
  cdfil = L_CDFIL and
  nuseqmov = L_NUSECMOV );
Esto es algo que no se puede hacer en PL/SQL. Cuando se utiliza un SELECT en PL/SQL debe usar la cláusula INTO para obtener el valor.

Código: Seleccionar todo
select nuseqite
INTO v_variavel_local(i)
from drvicv
where cdemp = L_CDEMP and
cdfil = L_CDFIL and
nuseqmov = L_NUSECMOV;
probar este mod!
dr_gori
Ubicación: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered



Volver a PL/SQL

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 25 invitados