**关闭。**这个问题是not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
4天前关闭。
Improve this question
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "STUDENT1.LOG_SALARY_INCREASE", line 2
ORA-04088: error during execution of trigger 'STUDENT1.LOG_SALARY_INCREASE'
LOGID EMPLOYEEID LOGDATE NEW_SALARY
1条答案
按热度按时间jvlzgdj91#
你没注意到你做了什么吗?
变量被声明为
CHAR(5)
,并且您试图将(至少)它的长度为13个字符。
将
LOG_ID
放大到 * 更大 *。有多大?不知道,这取决于你的期望。序列号有问题,因为字符串的其余部分是固定的(LOGYYYYMMDD)。另外,LPAD
到2个字符的长度是否足够?如果我是你我会放下table用
log_id number
,使其自动生成(i.e.标识列(如果您的数据库版本支持);或序列)date
数据类型列表示插入日期(这是你已经拥有的log_date
列)