Oracle 将一个表中几个字段更新到另一个表中
例如:test_table1中字段1aa,字段2bb,字段cc。更新到test_table2中,test_table2中字段DD,EE,GG,FF...,我是这么写的”U...
例如:test_table1中字段1aa,字段2bb,字段cc。
更新到test_table2中,test_table2中字段DD,EE,GG,FF...,
我是这么写的”
UPDATE TEST_TABLE1 T1
SET (T1.AA, T1.BB, T1.CC) =
(SELECT DD, EE, FF
FROM TEST_TABLE2 T2
WHERE 1=1) 展开
更新到test_table2中,test_table2中字段DD,EE,GG,FF...,
我是这么写的”
UPDATE TEST_TABLE1 T1
SET (T1.AA, T1.BB, T1.CC) =
(SELECT DD, EE, FF
FROM TEST_TABLE2 T2
WHERE 1=1) 展开
2013-12-26 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:925
获赞数:1553
中国地质调查局特聘数据库专家 CSDN博客专家 百度知道数据库行家 炼数成金版主 想了解更多请关注我的博客:
向TA提问 私信TA
关注
展开全部
如果下面的子查询返回多条数据,是会报错的。
SELECT DD, EE, FF
FROM TEST_TABLE2 T2
WHERE 1=1
第 1 行出现错误:
ORA-01427: 单行子查询返回多个行
如果test_table2 表中只有一条数据,那么是没有问题的。
我觉得你这两个表一定是要有关联关系的,不然这个update语句没什么意义。
比如test_table1 表中有一个id字段,一对一关联着test_table2 表中的id字段,那么可以这样写:
UPDATE TEST_TABLE1 T1
SET (T1.AA, T1.BB, T1.CC) =
(SELECT DD, EE, FF
FROM TEST_TABLE2 T2
WHERE t1.id=t2.id)
追问
对的,肯定是有关联,而且还在就报你说的错误了,最后我用了exists才弄好了,,,
展开全部
你如果要是插入记录的话可以这么写
insert INTO TEST_TABLE1(AA,BB,CC)as
(SELECT DD, EE, FF FROM TEST_TABLE2 T2)
insert INTO TEST_TABLE1(AA,BB,CC)as
(SELECT DD, EE, FF FROM TEST_TABLE2 T2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果test_table1和test_table2是关联的才能叫更新,采用renfengjun1986的方法即可,
如果两个表是没有关联的那就应该叫插入数据,采用nietiezheng 的方法。
如果两个表是没有关联的那就应该叫插入数据,采用nietiezheng 的方法。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询