I am doing a project and I try to make a trigger which assigns the course number automatically.
This is the trigger that comes to mind
create or replace trigger TG_curso_Auto
before insert on cursos
for each row
declare
num_var int;
begin
select count(*)+1 into num_var from cursos WHERE siglas LIKE '{VARIABLE EN ESTE CASO :NEW.siglas}%';
:new.siglas := concat(concat(:new.siglas,'-'),TO_CHAR(num_var));
end;
/
This is the table:
create table cursos(
id number(3) not null,
nombre varchar(40) not null,
siglas varchar(7) not null,
estudiantes_inscritos number(2) not null);
EXAMPLE:
INSERT INTO cursos(id,nombre,siglas,estudiantes_inscritos) VALUES (1,'Bases
de Datos',MBDA,7); -----> Deberia colocarme MBDA-1
INSERT INTO cursos(id,nombre,siglas,estudiantes_inscritos) VALUES (2,'Bases
de Datos',MBDA,8); -----> Deberia colocarme MBDA-2
INSERT INTO cursos(id,nombre,siglas,estudiantes_inscritos) VALUES
(3,'Programación Orientada a Objetos',POOB,8); -----> Deberia colocarme
POOB-1
Thank you very much in advance.