1:如何复制表中的一条记录?

pbs2000 2003-10-17 01:51:30
表格式如下:
t_info
id name blob info
001 pbs 010 student
请问如何将这条记录复制一条,还存在t_info下,但id的值改变,变为002
形成:
001 pbs 010 student
002 pbs 010 student

请各位高手给出个效率高的方法,因为这样的复制条数往往有4,5条,而且blob字段中存储的文件也不小,所以效率很重要,拜托!
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevin218 2003-10-17
  • 打赏
  • 举报
回复
下面是你想要的东西的实现,由于时间问题,给你全考过来了,是用spool写到一个log文件中的内容,自己分析一下啦,快试试:
SQL> desc test;
名称 空? 类型
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(10)
EID VARCHAR2(10)
YEAR VARCHAR2(4)
MONTH VARCHAR2(2)

SQL> select * from test;

NAME EID YEAR MO
---------- ---------- ---- --
aa 001 2000 2
dd 002 2001 7
cc 003 1999 12
bb 004 2003 1

SQL> create table samp as select * from test where rownum<2;

表已创建。

SQL> select * from samp;

NAME EID YEAR MO
---------- ---------- ---- --
aa 001 2000 2

SQL> insert into samp(eid) values('002');

已创建 1 行。

SQL> insert into samp(eid) values('003');

已创建 1 行。

SQL> select * from samp;

NAME EID YEAR MO
---------- ---------- ---- --
aa 001 2000 2
002
003

SQL> update samp a set (name,year,month)=(select name,year,month from samp b
2 where eid='001') where eid>'001';

已更新2行。

SQL> select * from samp;

NAME EID YEAR MO
---------- ---------- ---- --
aa 001 2000 2
aa 002 2000 2
aa 003 2000 2

SQL> commit;

提交完成。

SQL> spool off
pbs2000 2003-10-17
  • 打赏
  • 举报
回复
拜托
我要的是改变其id的值后,剩下的不变,然后插入
47522341 2003-10-17
  • 打赏
  • 举报
回复
insert into t_info(name,blob,info) (select name,blob,info from t_info
where int = 001)
47522341 2003-10-17
  • 打赏
  • 举报
回复
错了;应该是

insert into A02(A0203,A0211) (select A0203,A0211 from A02 where A0202 = 1)
47522341 2003-10-17
  • 打赏
  • 举报
回复
sql.text := 'select(name,blob,info) from yourtable into yourtable';
pbs2000 2003-10-17
  • 打赏
  • 举报
回复
请各位大虾出手

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧