sqlserver 转Oracle的项目语法不熟请大家帮帮忙。
UPDATE CSEMPL_11 SET EVALUE=DNSLAY FROM HRLIST_1
WHERE CSEMPL_11.ITEMCODE=HRLIST_1.ITEMCODE AND
CSEMPL_11.VGUID=HRLIST_1.EGUID AND
TODODT BETWEEN DATEADD(M,-1,@PEND) AND DATEADD(D,-1,@PEND) AND HRARES='501';存储过程里的一句变量直接代入就好了。谢谢
UPDATE CSEMPL_11 SET EVALUE=DNSLAY FROM HRLIST_1
WHERE CSEMPL_11.ITEMCODE=HRLIST_1.ITEMCODE AND
CSEMPL_11.VGUID=HRLIST_1.EGUID AND
TODODT BETWEEN DATEADD(M,-1,@PEND) AND DATEADD(D,-1,@PEND) AND HRARES='501';存储过程里的一句变量直接代入就好了。谢谢
解决方案 »
- sql查询去重复的特殊问题
- oracle 事务控制
- sql的存储过程转为ORACLE
- Oracle数据库的菜鸟问题?
- 关于oracle存储过程读取文件
- 一个Oracle查询问题!
- select df,fdf,sdf, from tabe1 a,tale2 b where b.date>=sysdate-10 and a.date(+)>=sysdate-10
- 弱弱的问题.... in和exists =.=!!
- 如何用EXECUTE IMMEDIATE 得到调用过程的返回值?谢谢!
- 关于oracle数据库0001文件的处理方式
- 关联查询优化
- 查询结果要构造成树,是把整棵树的结果返回,还是按结点级别分别查询
update customers a -- 使用别名
set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id)
where exists (select 1
from tmp_cust_city b
where b.customer_id=a.customer_id
)http://www.cnblogs.com/super-yc/archive/2007/06/11/779176.html
UPDATE CSEMPL_11 a
SET EVALUE=(Select DNSLAY FROM HRLIST_1 b WHERE a.ITEMCODE=b.ITEMCODE AND a.VGUID=b.EGUID)
WHERE TODODT > add_months(@PEND,-1) AND TODODT < @PEND-1 AND HRARES='501'; 注意,ORACLE里的参数是没@的,你把对应的参数名替换@PEND就行了
不过,我这里是猜你要把表CSEMPL_11里符合条件的记录的EVALUE更新表HRLIST_1里对应的DNSLAY,不知道是不是这样呢?