2个表之间的批量update问题!急。。。。。

dragon514 2005-01-27 02:54:51
Update Contract Set ContractNo=Contract_Temp.ContractNo,
ContractName=Contract_Temp.ContractName,
SignOther=Contract_Temp.SignOther,
CONTRACTSUM=Contract_Temp.CONTRACTSUM,
ONEFEE=Contract_Temp.ONEFEE,
MONTHFEE=Contract_Temp.MONTHFEE
From Contract,Contract_Temp
Where Contract.ContractID=Contract_Temp.ContractID

SQL中能这么写,但是ORACLE中一定要每个
set a = select a from TabB where ....
这样吗?有没有简单点的?
...全文
316 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiansl 2005-01-27
  • 打赏
  • 举报
回复
请采用如下形式:
Update Contract a
Set(ContractNo,ContractName,SignOther,CONTRACTSUM,ONEFEE,MONTHFEE)
=(SELECT ContractNo,ContractName,SignOther,CONTRACTSUM,ONEFEE,MONTHFEE
From Contract_Temp b
Where a.ContractID=b.ContractID)
where exists ( select 1 from Contract_Temp c
where a.ContractID=c.ContractID)
dragon514 2005-01-27
  • 打赏
  • 举报
回复
Update Contract Set (ContractNo,
ContractName,SignOther,CONTRACTSUM,ONEFEE,MONTHFEE)=(select ContractNo,ContractNameFrom,SignOther,CONTRACTSUM ,ONEFEE,MONTHFEE from Contract_Temp
Where Contract.ContractID=Contract_Temp.ContractID)
这样不对,我Contract表有1000条纪录,Contract_Temp有5条纪录,
这样运行的结果是把1000条都更新了
onejune4450 2005-01-27
  • 打赏
  • 举报
回复
Update Contract a
Set(ContractNo,ContractName,SignOther,CONTRACTSUM,ONEFEE,MONTHFEE)
=(SELECT ContractNo,ContractName,SignOther,CONTRACTSUM,ONEFEE,MONTHFEE
From Contract_Temp b
Where a.ContractID=b.ContractID)
需要时加
Update Contract a
Set(ContractNo,ContractName,SignOther,CONTRACTSUM,ONEFEE,MONTHFEE)
=(SELECT ContractNo,ContractName,SignOther,CONTRACTSUM,ONEFEE,MONTHFEE
From Contract_Temp b
Where a.ContractID=b.ContractID)
where exists ( select 1 from Contract_Temp c
where a.ContractID=c.ContractID)


hsj20041004 2005-01-27
  • 打赏
  • 举报
回复
不用的

eg:
Update Contract Set (ContractNo,
ContractName,SignOther,CONTRACTSUM,ONEFEE,MONTHFEE)=(select ContractNo,ContractNameFrom,SignOther,CONTRACTSUM ,ONEFEE,MONTHFEE from Contract_Temp
Where Contract.ContractID=Contract_Temp.ContractID)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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