我对Merge理解错误没有!!!!,我这种方式对好吗????谢谢
merge into YUSX.Litigant a
using (select 33 as ID,'G000000033' as ArchivesID from dual b) s
on (a.ArchivesID=s.ArchivesID)
when matched then
update set a.ID=s.ID,a.ArchivesID=s.ArchivesID
when not matched then
insert (a.ID,a.ArchivesID)
values(s.ID,s.ArchivesID);
我的表YUSX.Litigant 中确实有ArchivesID,
为什么老是说“无效列名”(第三行)
问题点数:0、回复次数:3Top
1 楼yushaoxi(我宏)回复于 2004-12-03 11:53:02 得分 0
那位兄弟帮我看看啊 ,Top
2 楼zealot_zk(风中追风)回复于 2004-12-03 12:59:03 得分 0
你试试看把using (select 33 as ID,'G000000033' as ArchivesID from dual b) s 里面 dual 的别名去掉,看可不可以执行,应该这条语句是没有问题的。
另外你要查看一下你的 YUSX.Litigant 表的定义,如果在定义列时列名字加上双引号且是小写(如:“archivesid”),那么这时 oracle 对列名字是敏感的,也就是说你的查询要写成 select archivesid 他才会认,你试试看Top
3 楼yushaoxi(我宏)回复于 2004-12-06 10:15:28 得分 0
没有解决啊 , zealot_zk(风中追风) 说得问题好像都不存在 ,
好像那样用on (a.ArchivesID=s.ArchivesID)
A中的所有列都不行,别名换了也不行????Top




