In Oracle 10g, data is passed between two databases through triggers, but the following error is always thrown in the program:
Ora-01438:value larger than specified precision for this column
Tip A column of precision, but no hint is that column, after careful examination, always did not find the cause of the problem, so try to directly in the Pl/sql to execute an INSERT command, see whether the trigger is working, but this is still unsuccessful, error ORA-06592, prompted the lack of case.
After continuous search, finally found a solution on the Internet, the case statement to add the Else statement can.
Case
When ...
ELSE
NULL;
End case;
After modifying the trigger, insert success from Plsql, and then try to insert through this program, unexpectedly also succeeded!
Similarities and differences between simple case statements and search case statements
--the same point: both are used to execute the corresponding statements or to complete specific tasks based on different conditions, and even in some cases interchangeable substitutions.
--Different points:
--The simple Case statement provides a selector selector, and the expression data type must match the selector data type, otherwise the error is not correct.
--The search case statement has no selector selector, and the result of the When clause must be a Boolean value (Null,trur,false)
Do not know what the relationship between, there is no research on Oracle, to record, in the future encountered similar problems to solve.