this is my sql-procedure passed to oracle db:
create or replace procedure ins_prgric(v_ana_id in varchar2,
v_codice_sede in number,
v_titolo_progetto in varchar2,
v_traduzione_titolo in varchar2,
v_coordinatore_cognome in varchar2,
v_coordinatore_nome in varchar2,
v_nome_utente in varchar2,
v_codice_ente in varchar2,
v_programma_finanziamento in varchar2,
p_codice_progetto out number,
v_flag_ritorno out number)
is
v_codice_progetto number;
begin
select seq_prgric.nextval
into v_codice_progetto
from dual;
v_flag_ritorno:=10;
insert into progetti_ricerca
(codice_progetto,
ana_id,
codice_sede,
titolo_progetto,
traduzione_titolo,
coordinatore_cognome,
coordinatore_nome,
data_modifica,
nome_programma,
nome_utente,
flg_trigger,
codice_ente,
programma_finanziamento)
values
(v_codice_progetto,
v_ana_id,
v_codice_sede,
v_titolo_progetto,
v_traduzione_titolo,
upper(v_coordinatore_cognome),
upper(v_coordinatore_nome),
sysdate,
'ins_prgric',
v_nome_utente,
null,
v_codice_ente,
v_programma_finanziamento
);
---inserimento ok commit--
commit;
p_codice_progetto := v_codice_progetto;
exception
when dup_val_on_index then
---duplicazione di chiave rollback---
v_flag_ritorno:=1;
rollback;
when others then
-- v_sqlerrm:= SQLERRM;
DBMS_OUTPUT.PUT_LINE('ERRORE GENERICO '||SQLERRM);
---errore generico rollback---
v_flag_ritorno:=2;
rollback;
end ins_prgric;
/
this is the part of my php code in which I receive and bind the out variables from the procedure:
OCIBindByName $procedura,":codice_progetto", &$codice_progetto,-1);
OCIBindByName ($procedura,":flag_ritorno", &$flag_ritorno,-1);
the problem is: I receive the flag_ritorno variable, but not the codice_progetto one.
what is the problem?
this driving me crazy
create or replace procedure ins_prgric(v_ana_id in varchar2,
v_codice_sede in number,
v_titolo_progetto in varchar2,
v_traduzione_titolo in varchar2,
v_coordinatore_cognome in varchar2,
v_coordinatore_nome in varchar2,
v_nome_utente in varchar2,
v_codice_ente in varchar2,
v_programma_finanziamento in varchar2,
p_codice_progetto out number,
v_flag_ritorno out number)
is
v_codice_progetto number;
begin
select seq_prgric.nextval
into v_codice_progetto
from dual;
v_flag_ritorno:=10;
insert into progetti_ricerca
(codice_progetto,
ana_id,
codice_sede,
titolo_progetto,
traduzione_titolo,
coordinatore_cognome,
coordinatore_nome,
data_modifica,
nome_programma,
nome_utente,
flg_trigger,
codice_ente,
programma_finanziamento)
values
(v_codice_progetto,
v_ana_id,
v_codice_sede,
v_titolo_progetto,
v_traduzione_titolo,
upper(v_coordinatore_cognome),
upper(v_coordinatore_nome),
sysdate,
'ins_prgric',
v_nome_utente,
null,
v_codice_ente,
v_programma_finanziamento
);
---inserimento ok commit--
commit;
p_codice_progetto := v_codice_progetto;
exception
when dup_val_on_index then
---duplicazione di chiave rollback---
v_flag_ritorno:=1;
rollback;
when others then
-- v_sqlerrm:= SQLERRM;
DBMS_OUTPUT.PUT_LINE('ERRORE GENERICO '||SQLERRM);
---errore generico rollback---
v_flag_ritorno:=2;
rollback;
end ins_prgric;
/
this is the part of my php code in which I receive and bind the out variables from the procedure:
OCIBindByName $procedura,":codice_progetto", &$codice_progetto,-1);
OCIBindByName ($procedura,":flag_ritorno", &$flag_ritorno,-1);
the problem is: I receive the flag_ritorno variable, but not the codice_progetto one.
what is the problem?
this driving me crazy