我的数据库中有两个表。第一个有一些记录,第二个有历史记录。
当我想修改记录时,我需要将当前记录放在历史表中并添加作者,修改日期和修改注释。
以下是我的表格的定义
记录(record_id,名称,域名等) records_h(hist_id,author,comment,modification_date,record_id,name,domain等...)
我查看了W3C文档并找到了this。这些示例没有显示如何为此方法添加值,我还没有找到如何通过谷歌。
这是我所做的,但它不起作用:
INSERT INTO record_h
(hist_id, USER_COMMENT, AUTHOR, MODIFICATION_DATE, record_id, name, domain, etc...)
SELECT hist_id.nextval, 'test', 'toto', CURRENT_TIMESTAMP, 331898, *
FROM record
WHERE record_id=331898;
你能帮助我吗?
答案 0 :(得分:1)
试试这个:
INSERT INTO
RECORD_H ( HIST_ID,
USER_COMMENT,
AUTHOR,
MODIFICATION_DATE,
RECORD_ID,
NAME,
DOMAIN )
( SELECT
HIST_ID.NEXTVAL,
'test',
'toto',
CURRENT_TIMESTAMP,
331898
FROM
RECORD
WHERE
RECORD_ID = 331898 );
请勿在您的选择中使用*,为列命名。应使用()
括起选择