Data Type do Rowid

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
LordElfo
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 111
Registrado em: Qui, 22 Fev 2007 2:34 pm
Localização: DF
________________
http://lordelfo.blogspot.com
Thiago Façanha

Opa pessoal criei uma package com uma procedure com 4 parametros
p_categ IN gl_interface.user_je_source_name%TYPE
, p_header_id IN gl_interface.je_header_id%TYPE
, p_creatdt IN gl_interface.date_created%TYPE
, p_rowid IN VARCHAR2

chamo atraves de uma trigger do seguinte modo

mqs_gl_history_pk.mqs_gl_history_p(
p_vcateg => :NEW.user_je_source_name
, p_vheader_id => :NEW.je_header_id
, p_creatdt => :NEW.date_created
, p_rowid => :NEW.ROWID
);

porém aparece o erro de numero ou tipo de argumento invalido. Ou seja. Não posso usar varchar2 para o rowid.. então qual uso? alguém sabe?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Eu costumo usar o VARCHAR2 mesmo.
Certeza que é neste parâmetro a inconsistência de Datatypes?


Veja o teste que eu fiz:

Criei esta função dentro de uma PCK de teste que tenho aqui, chamada PCK_TREVISOLLI

Selecionar tudo

  FUNCTION 	F_teste  (p_rowid IN VARCHAR2)
  RETURN VARCHAR2 
  IS 
  BEGIN
     RETURN P_ROWID;
  END F_TESTE;
Depois fiz a chamada no SQL Navigator:

Selecionar tudo

SELECT pck_trevisolli.f_teste (ROWID)
  FROM instalacao
 WHERE nro_inst = 1;

Resultado:
AAALSkAAJAAAQQYAAP

Me retornou o ROWID passado, sem erros.
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Você está passando o nome dos parâmetros errados ao chamar a procedure...

Selecionar tudo

p_categ IN gl_interface.user_je_source_name%TYPE 
, p_header_id IN gl_interface.je_header_id%TYPE 
, p_creatdt IN gl_interface.date_created%TYPE 
, p_rowid IN VARCHAR2
mqs_gl_history_pk.mqs_gl_history_p(
p_vcateg => :NEW.user_je_source_name
, p_vheader_id => :NEW.je_header_id
, p_creatdt => :NEW.date_created
, p_rowid => :NEW.ROWID
);
Responder
  • Informação