› Fóruns › SQL e PL/SQL › Problema com tamanho de campo CLOB – TEXT › Problema com tamanho de campo CLOB – TEXT
@leandro,
É difícil encontrar o erro no seu código, pois não tenho o seu ambiente e nem vou ter tempo hábil p/ analisar o seu problema, portanto, veja o código abaixo, que foi criado e testado (e funcionou) baseado no que eu havia lhe informado, entenda-o e faça as devidas alterações no seu ambiente.
-- Criando a tabela
CREATE TABLE TB_TESTE (ID NUMBER, DETAIL CLOB);
-- Criando a trigger
create or replace trigger TG_ITEMS BEFORE INSERT ON stbd.tb_teste FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
NOVOVALOR VARCHAR2(4000);
BEGIN
IF dbms_lob.GETLENGTH(:NEW.DETAIL) > 4000 THEN
NOVOVALOR := dbms_lob.SUBSTR(:NEW.DETAIL,4000,1);
INSERT INTO tb_teste (ID,detail) VALUES (:NEW.ID,NOVOVALOR);
COMMIT;
RAISE_APPLICATION_ERROR(-20100, 'Valor de detalhes foi truncado p/ 4000 caracteres');
END IF;
END;
/
-- testando a trigger
declare
v_detail varchar2(32767);
begin
v_detail := 'fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio
fabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabiofabio';
insert into tb_teste (id, detail) values (1 , v_detail);
end;
[]s