Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 触发器不工作:错误(12,10):PLS-00103:遇到符号“1”:&引用;应为以下情况之一时::=。( @ % ; 创建或替换触发器触发器插入更新 在插入或更新L_空间之前,L_RENT 关于每行的位置 声明 临时租金号码; 开始 如果(:new.L_空格)_Oracle_Plsql_Database Trigger - Fatal编程技术网

Oracle 触发器不工作:错误(12,10):PLS-00103:遇到符号“1”:&引用;应为以下情况之一时::=。( @ % ; 创建或替换触发器触发器插入更新 在插入或更新L_空间之前,L_RENT 关于每行的位置 声明 临时租金号码; 开始 如果(:new.L_空格)

Oracle 触发器不工作:错误(12,10):PLS-00103:遇到符号“1”:&引用;应为以下情况之一时::=。( @ % ; 创建或替换触发器触发器插入更新 在插入或更新L_空间之前,L_RENT 关于每行的位置 声明 临时租金号码; 开始 如果(:new.L_空格),oracle,plsql,database-trigger,Oracle,Plsql,Database Trigger,当将参数传递给fn_calculate_rent函数时,您应该像这样传递参数:new.L_SPACE和:new.L_RENTRATE,因为编译器将其作为声明变量,而这些变量没有在代码中声明。Trytemp_rent:=fn_calculateinsteatemp\u rent的d:=(在:和=之间没有空格)错误(12,1):PL/SQL:语句忽略错误(12,31):PLS-00201:必须声明标识符“L_空格”该错误消息有什么不清楚的地方?L_空格是位置表中的一列。为什么我需要声明它。此触发器即

当将参数传递给fn_calculate_rent函数时,您应该像这样传递参数:new.L_SPACE和:new.L_RENTRATE,因为编译器将其作为声明变量,而这些变量没有在代码中声明。

Try
temp_rent:=fn_calculate
instea
temp\u rent的d:=
(在
=
之间没有空格)错误(12,1):PL/SQL:语句忽略错误(12,31):PLS-00201:必须声明标识符“L_空格”该错误消息有什么不清楚的地方?L_空格是位置表中的一列。为什么我需要声明它。此触发器即使编译也无法工作。
更新
每次触发时都会导致变异表错误。
create or replace TRIGGER TRIG_INSERT_UPDATE
  BEFORE INSERT OR UPDATE OF L_SPACE,L_RENT
  ON LOCATIONS FOR EACH ROW

DECLARE 
temp_rent NUMBER;

BEGIN
  IF (:new.L_SPACE)< 0 THEN
    RAISE_APPLICATION_ERROR(-20100, 'Please insert a positive SPACE value');
  END IF;
  IF (:new.L_RENT)< 0 THEN
    RAISE_APPLICATION_ERROR(-20100, 'Please insert a positive RENT value');
  END IF;

temp_rent: =fn_calculate_rent(L_SPACE,L_RENTRATE);
UPDATE LOCATIONS
SET RENT=temp_rent;
END;