Introdução à Linguagem PL/SQL

CONECTANDO COMO SYSTEM

                    	conn system/coti

CRIANDO O USUARIO

                          create user aula4 identified by coti default tablespace users quota 10m on users;

PERMISSÕES PARA O USUARIO

                            grant create table, create session, create procedure, create view, create trigger, connect, create sequence to aula4;

CONECTANDO COMO "AULA4"

                            conn aula4/coti

CRIANDO A TABELA FUNCIONARIO

                             create table funcionario(id number (15) primary key,nome varchar (50),email varchar (50) unique);

CRIANDO A SEQUENCIA

                            create sequence seq_funcionario;

CRIANDO O GATILHO PARA AUTO INCREMENTAR O ID NA HORA DE INSERIR O FUNCIONARIO

                             create or replace trigger gat_funcionario before insert on funcionario 
                             for each row 
                             declare 
                             vid number (15) :=0; 
                             vconta number (15) :=0; 
                             begin 
                             dbms_Output.put_line('1gatilho :' || :new.id);
                             dbms_Output.put_line('2gatilho :' || vid); 
                             select count(id) into vconta from funcionario; 
                             dbms_Output.put_line('10conta :' || vconta); 
                             if vconta=0 then 
                             --primeira vez 
                             :new.id :=vconta +1; 
                             elsif :new.id is not null then 
                             --na mao 
                             dbms_Output.put_line('4gatilho :' ||:new.id); 
                             else 
                             --null a partir da segunda vez 
                             select max(id) into vid from funcionario; 
                             dbms_Output.put_line('3gatilho :' || vid); 
                             vid := vid + 1; 
                             :new.id := vid; 
                             end if; 
                             end; 
                             /

COMANDO PARA MOSTRAR OS ERRORS

                            show errors;

INSERÇÃO DE DADOS

                            insert into funcionario values (null, 'talles','talles@gmail.com'); 
                            insert into funcionario values (null, 'fadinha','fadinha@gmail.com'); 
                            insert into funcionario values (null, 'jao','jao@gmail.com'); 
                            insert into funcionario values (100, 'manopla','manopla@gmail.com'); 
                            insert into funcionario values (null, 'lu','lu@gmail.com');
                        	select * from funcionario;