关于Oracle的UPdate与 MSSQL的不同

来源:互联网 发布:淘宝的快捷方式删不掉 编辑:程序博客网 时间:2024/05/29 23:46

Oracle用的是Pl/SQL ,MSSQL用的是T-SQL,语法也不同,前一阵我遇到使用update的不同

update   a      
set   a.complete_pct   =   b.complete_pct,a.act_start_date     =   b.act_start_date,a.act_end_date   =   b.act_end_date  
from   PLN_project   a,pln_projwbs     b  
where     a.project_type   =   1   and   a.project_id   =b.proj_id     and   b.parent_wbs_id=0
--这个写法是Sqlserver中可以实现,Oralcede   写法实现却是这样的

 

update PLN_project set (complete_pct,act_start_date,act_end_date) =
    (
select complete_pct,act_start_date,act_end_date from pln_projwbs
      
where PLN_project.project_type = 1 and PLN_project.project_id 
           
and =pln_projwbs.proj_idpln_projwbs.parent_wbs_id=0)
WHERE EXISTS( SELECT 1 FROM pln_projwbs WHERE PLN_project.project_type = 1
              
and PLN_project.project_id =pln_projwbs.proj_id  and
               pln_projwbs.parent_wbs_id
=0 ) ;

相对比而言,oracle的update比mssql的update要麻烦很多 

原创粉丝点击