Jump to content

Ayuda con oracle


Recommended Posts

Hola gente me pidieron en el instituto que hiciera esto.

 

1. Crear una función que muestre el nombre de un funcionario cuyo rut se pasará por parámetro.
Crear un disparador para llamar la función después de insertar un nuevo funcionario.
y mi funcion que cree es esto.
1-
create or replace function ejercicio1(n varchar2)
return varchar2 as
nom funcionario.nombre%type;
begin
select nombre into nom
from funcionario
where rut = n;
return nom;
end ejercicio1;
begin
dbms_output.put_line('El nombre del empleado es : '||ejercicio1('12456'));
end;
pero en el momento de crear el disparador no se como llamar a la funcion esto llevo y no se que mas hacer.

 

create or replace trigger llamarfuncion
after insert on funcionario
for each row
Link to comment
Share on other sites

Estimado, el trigger funciona dentro del contexto en que lo defines, en tu caso después del insert. Después que hagas el insert en la tabla funcionario, todo el cuerpo del trigger será ejecutado. Dentro del trigger tienes acceso a los datos que insertas usando la variable :new, por lo que el rut que insertas puede ser referenciado como :new.rut. Por lo tanto, dentro del trigger puedes hacer: ejecicio1(:new.rut) para obtener el nombre del funcionario siempre dentro del trigger, luego lo puedes asociar a la variable :new.nombre para insertarlo en la tabla.

Los triggers no retornan valores y tienen algunas restricciones en cuanto a lo que se puede desarrolar dentro de estos.

Busca más info de los triggers en la web, hay bastante info.

 

Saludos

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...