0

我正在创建一个表格,其中包含员工的开始和结束日期,我正在尝试找到最简单的方法来确定该人员的结束日期。结束日期基于开始日期和合同期限,两者位于同一个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"

任何帮助表示赞赏,谢谢。

4

1 回答 1

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);
于 2012-12-18T21:36:34.020 回答