Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NaPraia

type object - type table

Recommended Posts

Oi galera,

seguinte, estou com uma(s) dificuldade(s).

 

estou desenvolvendo um package que vou receber umas variáveis de um outro sistema (java). Até aí tudo bem, mas em uma procedure vou receber uma lista de dados.

Aí foi criado no banco dos TYPES,

o type table

CREATE OR REPLACE TYPE GT_DEMO_CONTAB_CTA AS
TABLE OF RT_DEMO_CONTAB_CTA
e o type object

CREATE OR REPLACE TYPE RT_DEMO_CONTAB_CTA AS
OBJECT
	(OID_SALDO_CONTABIL NUMBER
	,OID_VISAO		  NUMBER
	,VLR_SALDO		  NUMBER(12,2))

PROCEDURE PRCN_INSERE_DEMO_CONTABIL (PI_GT_DEMO_CONTAB_CTA GT_DEMO_CONTAB_CTA) 
  IS
	VI_GT_DEMO_CONTAB_CTA GT_DEMO_CONTAB_CTA;
  BEGIN

	 OPEN GT_DEMO_CONTAB_CTA;
	  LOOP
		 FETCH GT_DEMO_CONTAB_CTA BULK COLLECT INTO VI_GT_DEMO_CONTAB_CTA;
		 --
		 IF VI_GT_DEMO_CONTAB_CTA.COUNT > 0 THEN

			FOR IND IN VI_GT_DEMO_CONTAB_CTA.FIRST..VI_GT_DEMO_CONTAB_CTA.LAST LOOP
			  INSERT INTO SALDO_DEMONSTRATIVO_CONTAB_CTA
			 					( OID_SALDO_CONTABIL
							  , VLR_SALDO
							  , OID_VISAO)
					VALUES (VI_GT_DEMO_CONTAB_CTA(IND).OID_SALDO_CONTABIL
							 ,VI_GT_DEMO_CONTAB_CTA(IND).VLR_SALDO
							 , VI_GT_DEMO_CONTAB_CTA(IND).OID_VISAO);
			END LOOP;
		 END IF;
		 --
		 EXIT WHEN GT_DEMO_CONTAB_CTA%NOTFOUND;
	  END LOOP;
	  CLOSE GT_DEMO_CONTAB_CTA;
  END PRCN_INSERE_DEMO_CONTABIL;
eu pensei em usar como um cursor, mas está dando erro.

 

inclusive acho que está errado a forma que estou passando o parâmentro,

e acho que deveria estar passando o objeto e a tabela.

 

alguém para dar uma ajuda???

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu, obrigado.

 

pelo menos o erro sumiu,

o que eu estava fazendo de errado é que como não é cursor, não precisa abrir e fechar, foi só tirar o open e close.

 

tá meio tarde e tô meio cansado, amanhã vejo se vai funcionar de acordo, mas compilar, compilou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.