PLS-00215字符串长度限制必须在范围内

问题描述 投票:0回答:1
CREATE TABLE INTERVENCIONES(
"IDINTERVENCION" INTEGER PRIMARY KEY,
"NOMBREINTERVENCION" VARCHAR2(50 BYTE) NOT NULL,
"TIEMPOESPERADO" VARCHAR2(50 BYTE),
"NIF" CHAR(9 BYTE) REFERENCES VETERINARIOS NOT NULL,
"NUMEROCLIENTE" INTEGER REFERENCES CLIENTES NOT NULL,
"DIFICULTAD" CHAR (8 BYTE), CONSTRAINT "INTERVENCIONES_1" 
         CHECK (DIFICULTAD IN ('BAJA','MODERADA','ALTA','OTRO'))
);

CREATE OR REPLACE TRIGGER TRG_INTERVENCIONES BEFORE INSERT OR UPDATE ON INTERVENCIONES
FOR EACH ROW
DECLARE
LV_DIF VARCHAR2 := :NEW.DIFICULTAD;
LV_TIM NUMBER := :NEW.TIEMPOESPERADO;
BEGIN

    IF (LV_DIF LIKE 'BAJA' AND (LV_TIM>1)) THEN
      RAISE_APPLICATION_ERROR (num => 20005, msg => 'Siendo de riesgo bajo, debe durar menos de 1 hora');
   END IF;
END;

我希望DIFICULTAD等于BAJATIEMPOESPERADO必须大于1。错误是:

PLS-00215字符串长度限制必须在范围内

oracle plsql database-trigger
1个回答
0
投票

您实际上不需要定义局部变量。

IF (:NEW.DIFICULTAD LIKE 'BAJA' AND (:NEW.TIEMPOESPERADO > 1)) THEN
© www.soinside.com 2019 - 2024. All rights reserved.