我正在创建一个包含雇员开始和结束日期的桌子,我正在努力寻找最简单的方法来确定这些人的结束日期。结束日期基于合同的开始日期和长度,两者都位于相同的Insert
。这就是我刚刚尝试过的(我以前的尝试比这更加残酷):
Insert Into EMPHIREINFO (empno, empname, startdt, enddt, cntrlgth)
Values (7566,'JONES', to_date('2011/10/15', 'yyyy/mm/dd'),add_months(startdt,cntrlgth), 12);
我在add_months
中使用了Update
,因此我试图在Insert
中使用它,但成功率却低得多。我认为可能是因为我在插入之前使用了cntrlgth,但即使我硬编码我要添加的月份数量,我仍然会出错。
以下是任何人感兴趣的错误:
00933. 00000 - "SQL command not properly ended"
感谢任何帮助,谢谢。
答案 0 :(得分:1)
您无法在插入中引用其他列。需要为两者写表达式:
Insert Into EMPHIREINFO (empno, empname, startdt, enddt, cntrlgth)
Values (7566,'JONES', to_date('2011/10/15', 'yyyy/mm/dd'),
add_months(to_date('2011/10/15', 'yyyy/mm/dd'),12), 12);