CREATE OR REPLACE FUNCTION GETUMAORIAPA( PIDCORDSVC IN VARCHAR2,
PVLRNROSEQATV IN VARCHAR2,
PVLRNUMSEQSVC IN VARCHAR2,
PNROITMORDSVC IN VARCHAR2)
RETURN VARCHAR2 As
PCODUMA NUMBER(10);
Begin
SELECT UMA.CODUMA INTO PCODUMA
FROM WMS_MOVRSVESQEND RSV
INNER JOIN WMS_MOVMTGVOL MTG ON MTG.IDCMOVRSVESQEND = RSV.IDCMOVRSVESQEND
INNER JOIN WMS_RELMTGVOLORDSVC REL ON MTG.IDCMOVMTGVOL = REL.IDCMOVMTGVOL
INNER JOIN WMS_RELMTGORDMOVESQ RELTMP ON RELTMP.IDCMTGVOLORDSVC = REL.IDCMTGVOLORDSVC
INNER JOIN WMS_MOVESQUMA MOV ON MOV.IDCMOVESQUMA = RELTMP.IDCMOVESQUMA
INNER JOIN WMS_CADUMA UMA ON UMA.IDCUMA = MOV.IDCUMA
WHERE REL.IDCORDSVC = PIDCORDSVC
AND REL.VLRNROSEQATV = PVLRNROSEQATV
AND REL.VLRNUMSEQSVC = PVLRNUMSEQSVC
AND REL.NROITMORDSVC = PNROITMORDSVC;
RETURN PCODUMA;
End;
/
Ajuda em function
-
- Rank: Analista Júnior
- Mensagens: 98
- Registrado em: Qua, 24 Set 2008 11:00 pm
- Localização: Belo Horizonte - MG
Bride
OCA Oracle PL/SQL Developer Certified Associate
OCA Oracle PL/SQL Developer Certified Associate
Perssoal preciso de uma ajuda nessa function aqui, ela esta preparada para o retorno de uma linha, mais como fazer para o retorno de mais de uma
-
- Moderador
- Mensagens: 641
- Registrado em: Seg, 03 Set 2007 3:26 pm
- Localização: Fortaleza - CE
att,
Daniel N.N.
Daniel N.N.
Você precisará criar um tipo com a estrutura que quer retornar.
Como você precisa retornar conjunto de varchar, podes criar:
Sua função precisa retornar este tipo criado previamente e atribuir a variável de retorno a coleção de dados:
Agora poderás ver que retorna todos valores, e não apenas um:
Dá uma olhada também em:
http://glufke.net/oracle/viewtopic.php?t=3844
Como você precisa retornar conjunto de varchar, podes criar:
CREATE OR REPLACE TYPE my_table_char IS TABLE OF VARCHAR2(10);
CREATE OR REPLACE FUNCTION get_my_vachar(tipo IN VARCHAR2) RETURN my_table_char IS
my_result my_table_char;
CURSOR c IS
SELECT t.desc
FROM my_table
WHERE t.tipo = tipo;
BEGIN
OPEN c;
LOOP
FETCH c BULK COLLECT INTO my_result;
EXIT WHEN c%NOTFOUND;
END LOOP;
RETURN my_result;
END get_my_vachar;
select * from table(get_my_vachar('N'));
http://glufke.net/oracle/viewtopic.php?t=3844
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes