日期:2014-05-17  浏览次数:20712 次

如何复制一条记录?
测试东西,一条条插太麻烦了。
  主要是一个序列,要实现的功能是,复制一条表的记录(除去id),在插入的时候id从刚刚的序列中获取,其它信息从刚刚的信息读取插入。

理想中的插入应该是下面的语句。可惜大家懂得,不能运行哈。

insert into A表 values(select A表.nextval as id, az.name,az.age... from A表 az)

------解决方案--------------------
假设你现在的序列值是1000
SQL code
DROP TABLE t;
CREATE TABLE t (id NUMBER,nm VARCHAR2(50));
INSERT INTO t VALUES(100,'AAA');
INSERT INTO t VALUES(101,'BBB');
INSERT INTO t VALUES(103,'CCC');

SELECT * FROM T;
INSERT INTO T(id,nm) 
SELECT 1000+ROWNUM,nm FROM t;

------解决方案--------------------
insert into A表 select A表.nextval as id, az.name,az.age... from A表 az

使用select不要写values
------解决方案--------------------
insert into A表 select A表.nextval as id, az.name,az.age... from A表 az

使用select不要写values
------解决方案--------------------
探讨

insert into A表 select A表.nextval as id, az.name,az.age... from A表 az

使用select不要写values

------解决方案--------------------
探讨

可以用序列么?这样插入之后,程序中使用seq会有冲突的呢引用:

假设你现在的序列值是1000
SQL code
DROP TABLE t;
CREATE TABLE t (id NUMBER,nm VARCHAR2(50));
INSERT INTO t VALUES(100,'AAA');
INSERT INTO t VALUES(101,'BBB');
I……