Estou tendo algumas complicações quanto ao código que estou criando no ORACLE Database Express Edition. Eu havia feito com parâmetros mas me falaram que não seria necessário, pois o próprio BD iria localizar os campos que estavam sendo utilizado. Ainda estou aprendendo quanto ao uso de Procedures/Triggers/Jobs, por isso acabo ouvindo o conselho amigo.  A idéia é a seguinte. Duas tabelas (OCORRENCIA e HISTORICO), onde a primeira é onde ficam os registros de ocorrencias feitas durante o dia e a histórico mantem registro dos registros de OCORRENCIA a cada 1 hora.   CREATE TABLE OCORRENCIA (
    ID_OCORRENCIA   NUMBER NOT NULL,        -- PK da tabela gerada pela sequence SEQ_OCORRENCIA
    LATITUDE        NUMBER(10, 0) NOT NULL, -- Latitude da ocorrência
    LONGITUDE       NUMBER(10, 0) NOT NULL, -- Longitude da ocorrência
    FOTO            BLOB,                   -- Foto da ocorrência
    COMENTARIO      VARCHAR2(100),          -- Comentário opcional da ocorrência
    DATA            DATE NOT NULL,          -- Data da ocorrência neste formato: dd/mm/aaaa
    HORA            TIMESTAMP NOT NULL,     -- Hora da ocorrência neste formato: hh:mm:ss
    CONFIRMACAO     NUMBER(3,0),            -- Número de confirmações da ocorrência
    FINALIZADO      NUMBER(1,0),            -- Os valores podem ser 0 ou 1, sendo que 1 representa a ocorrência que está finalizada e 0 não finalizada
    TURNO           NUMBER(1,0)             -- Os valores podem ser: 
                                            -- 0: manhã (6h-11h59min59s)
                                            -- 1: tarde (12h-17h59min59s)
                                            -- 2: noite (18h-23h59min59s)
                                            -- 3: madrugada (00h-5h59min59s)
);
CREATE TABLE HISTORICO(
    ID_HISTORICO    NUMBER NOT NULL,    -- PK da tabela gerada automaticamente pela função SEQ_HISTORICO()
    LATITUDE        NUMBER(10, 0) NOT NULL, -- Latitude da ocorrência
    LONGITUDE       NUMBER(10, 0) NOT NULL, -- Longitude da ocorrência
    DATA            DATE NOT NULL,      -- Data da ocorrência neste formato: dd/mm/aaaa
    TURNO           NUMBER(1,0),        -- Os valores podem ser: 
                                        -- 0: manhã (6h-11h59min59s)
                                        -- 1: tarde (12h-17h59min59s)
                                        -- 2: noite (18h-23h59min59s)
                                        -- 3: madrugada (00h-5h59min59s)
    DIA_SEMANA      NUMBER(1,0)         -- Os valores podem ser: 
                                        -- 0: segunda-feira
                                        -- 1: terça-feira
                                        -- 2: quarta-feira
                                        -- 3: quinta-feira
                                        -- 4: sexta-feira
                                        -- 5: sábado
                                        -- 6: domingo
);
Pesquisei quanto a uma forma de atualizar o BD e me falaram sobre JOBS, tentei criar mas não sei se está corrento da forma que fiz.
dbms_job.submit(
    what        => prc_atualiza_ocorrencias,
    next_date   => sysdate + 1/24,      -- Inicia o JOB depois de uma hora
    Interval    => 'sysdate + 1/24');   -- Executa a cada uma hora
O problema que parece estar ocorrendo é na Procedure que criei, ele deve fazer a inserção dos dados de OCORRENCIA em HISTORICO a cada 12 horas ou quando o campo FINALIZADO estiver flegado em OCORRENCIA:
CREATE PROCEDURE prc_atualiza_ocorrencias IS
BEGIN
    -- Insere na tabela HISTORICO registros da tabela OCORRENCIA. Apenas são registrado os dados que tenham passado 12 horas após o cadastro.
    -- Essa mesma linha é deletada da tabela OCORRENCIA
    IF sysdate >= (HORA +  12/24) OR FINALIZADO = 1 THEN
        BEGIN
            INSERT INTO HISTORICO(LATITUDE, LONGITUDE, DATA, TURNO, DIA_SEMANA)
            (SELECT LATITUDE, LONGITUDE, DATA, TURNO, to_char(DATA, 'D')
            FROM OCORRENCIA
            WHERE DATA < SYSDATE - 2/24);
            DELETE FROM OCORRENCIA
            WHERE DATA < SYSDATE - 2/24;
        END;
    END IF;
    --
END;   Será que alguém poderia me dar umas dicas de programação em BD? Atualmente estou trabalhando com PowerBuilder e meu contato com BD no máximo é ao utilizar o SQL Navigator que utilizamos acaba sendo mais para SELECTs, INSERTs e DELETEs. Se alguém tiver um local para baixar o MySQL seria uma boa, não estou me encontrando com esse ORACLE Database Express Edition.