不用的 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)
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)
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)
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条都更新了
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)