当前位置: 代码迷 >> Oracle管理 >> 怎么复制一条记录
  详细解决方案

怎么复制一条记录

热度:61   发布时间:2016-04-24 05:02:15.0
如何复制一条记录?
测试东西,一条条插太麻烦了。
  主要是一个序列,要实现的功能是,复制一条表的记录(除去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……
  相关解决方案