puedo poner un if(select..... en sql oracle???? como??
puedo poner un if(select..... en sql oracle???? como??
tengo esto i me da un error:
if (select count(*) from insered>1)
begin
raiserror ('error en la insercion: multiple',1,1)
rollback
end
else
begin
set @idpc=lower(select idpc from insered)
set @username=lower(select username from insered)
set @fecha=(select fecha from insered)
set @so=lower(select so from insered)
set @ipaddress=lower(select ipaddress from insered)
tengo esto i me da un error:
if (select count(*) from insered>1)
begin
raiserror ('error en la insercion: multiple',1,1)
rollback
end
else
begin
set @idpc=lower(select idpc from insered)
set @username=lower(select username from insered)
set @fecha=(select fecha from insered)
set @so=lower(select so from insered)
set @ipaddress=lower(select ipaddress from insered)
No se puede.
En su lugar puedes usar:
select count(*)
into v_sel
from insered;
if v_sel>1 then
....
En su lugar puedes usar:
select count(*)
into v_sel
from insered;
if v_sel>1 then
....
Creo que lo que estas tratando de hacer es un manejo de error cuando haces un Insert.
En Oracle se hace de la siguiente manera:
begin
INSERT INTO TABLA_001
VALUES(1,2,3);
EXCEPTION
--Aqui estas capturando cuando violas la llave primaria
when dup_val_on_index then
dbms_output.put_line(\'Ha ocurrido un error!!!\');
--When others te captura cualquier error
when others
dbms_output.put_line(\'Ha ocurrido un error!!!\');
end;
La idea es mas o menos como el Try y Catch que se utiliza el Java.
En Oracle se hace de la siguiente manera:
begin
INSERT INTO TABLA_001
VALUES(1,2,3);
EXCEPTION
--Aqui estas capturando cuando violas la llave primaria
when dup_val_on_index then
dbms_output.put_line(\'Ha ocurrido un error!!!\');
--When others te captura cualquier error
when others
dbms_output.put_line(\'Ha ocurrido un error!!!\');
end;
La idea es mas o menos como el Try y Catch que se utiliza el Java.