数据库里两张表:target(id,name,tablename)和source(number,name,sex)。现在想要将表source中的每一条数据的name值插入到比表target中,插入的同时分配id(target表中的最大id加1)和tablename。请问大家如何写这样的sql语句。
insert into target(id,name,tablename)…………??
insert into target(id,name,tablename)…………??
INSERT INTO TARGET SELECT ROWNUM+(SELECT MAX(ID) AS RN FROM TARGET) RN,NAME,'TABLENAME' FROM SOURCE
Select Max(Rownum)+1 As Id, Name, 'source '
From source
违反了 PRIMARY KEY 约束 'PK_APP_EVENT'。不能在对象 'APP_EVENT' 中插入重复键。
这个要commit吗?一个固定值加一个变化的Rownum为什么要Commit才行?
我试了一下,不Commit就行啊
谁说一下
select (rownum + (select count(*) from target)) as id,name,tablename
from source
select IDENTITY(int, 1,1) as row_no,* into #temp from table1
select * from #temp
只能用临时表来转一下了