将行从一个表插入到另一个表中,我尝试使用count(*)来确保表OBJ_LINES中的line_no列设置为1,2,3,4 ..等等,以便添加每一行。
INSERT INTO OBJ_LINES(
id,
line_no)
SELECT (1,
(select count(*)+1 FROM OBJ_LINES WHERE id = 1)
FROM TEMPLATE_LINES tmp
WHERE tmp.id = 37;
(语法Sybase数据库) 如果TEMPLATE_LINES表包含多行,则会出现重复错误,因为count()似乎只计算一次,而不是TEMPLATE_LINES表中找到的每一行。
我如何编写sql来设置动态' line_no取决于给定id的当前行数?
答案 0 :(得分:0)
INSERT INTO OBJ_LINES(
id,
line_no)
SELECT (1,
number(*)
FROM TEMPLATE_LINES tmp
WHERE tmp.id = 37;