ayuda con procedimientos
Publicado por Cristian (1 intervención) el 17/08/2008 19:24:00
hola por favor necesito ayuda con el siguiente procedimiento en oracle, mi problema es que me sale un error de que hay mas de un dato por campo y no se como insertar un loop para que esto no suceda
por favor ayuda es urgente..........................
create or replace
PROCEDURE P_ACTUALIZA_CLIENTE
( Pn_Cod_Cli IN NUMBER
, Pv_Nom_Cli IN VARCHAR2
, Pv_Mail_Cli IN VARCHAR2
, Pv_Dir_cli IN VARCHAR2
, Pv_Tel1_Cli IN VARCHAR2
, Pv_Tel2_Cli IN VARCHAR2
, Pv_Ciu_Cli IN VARCHAR2
, Pv_Prov_Cli IN VARCHAR2
, Pn_Cod_Pais in number
, Pv_Cod_Pos IN VARCHAR2
) AS
cont binary_integer := 1;
Lv_Cod_Cli number;
BEGIN
select cod_cliente
into lv_cod_cli
from clientes
where Cod_cliente = pn_Cod_Cli;
if pn_cod_cli = lv_cod_cli then
update clientes set nom_cliente = pv_nom_cli, mail_cliente = pv_mail_cli, dir_cliente= pv_dir_cli,
tel1_cliente = pv_tel1_cli, tel2_cliente = pv_tel2_cli, ciu_cliente = pv_ciu_cli,
prov_cliente = pv_prov_cli, cod_pais = pn_cod_pais, cod_postal_cliente = pv_cod_pos
where Cod_cliente = pn_cod_cli;
commit;
else
insert into clientes values (pn_cod_cli, pv_nom_cli, pv_mail_cli, pv_dir_cli, pv_tel1_cli,
pv_tel2_cli, pv_ciu_cli, pv_prov_cli, pn_cod_pais,pv_cod_pos);
commit;
end if;
END P_ACTUALIZA_CLIENTE;
por favor ayuda es urgente..........................
create or replace
PROCEDURE P_ACTUALIZA_CLIENTE
( Pn_Cod_Cli IN NUMBER
, Pv_Nom_Cli IN VARCHAR2
, Pv_Mail_Cli IN VARCHAR2
, Pv_Dir_cli IN VARCHAR2
, Pv_Tel1_Cli IN VARCHAR2
, Pv_Tel2_Cli IN VARCHAR2
, Pv_Ciu_Cli IN VARCHAR2
, Pv_Prov_Cli IN VARCHAR2
, Pn_Cod_Pais in number
, Pv_Cod_Pos IN VARCHAR2
) AS
cont binary_integer := 1;
Lv_Cod_Cli number;
BEGIN
select cod_cliente
into lv_cod_cli
from clientes
where Cod_cliente = pn_Cod_Cli;
if pn_cod_cli = lv_cod_cli then
update clientes set nom_cliente = pv_nom_cli, mail_cliente = pv_mail_cli, dir_cliente= pv_dir_cli,
tel1_cliente = pv_tel1_cli, tel2_cliente = pv_tel2_cli, ciu_cliente = pv_ciu_cli,
prov_cliente = pv_prov_cli, cod_pais = pn_cod_pais, cod_postal_cliente = pv_cod_pos
where Cod_cliente = pn_cod_cli;
commit;
else
insert into clientes values (pn_cod_cli, pv_nom_cli, pv_mail_cli, pv_dir_cli, pv_tel1_cli,
pv_tel2_cli, pv_ciu_cli, pv_prov_cli, pn_cod_pais,pv_cod_pos);
commit;
end if;
END P_ACTUALIZA_CLIENTE;
Valora esta pregunta


0