在调试存储过程中,由于sql语句特别复杂,特别长,导致遇到了不少问题,但其中最让人郁闷的是子查询嵌套子查询时一直报错,在oracle是没错的,在sqlserver和db2中一直报错,并且没有明确的提示什么错误,导致我调试了很久,发现是子查询时的问题。
例如:
select fdate,fname,fkk,fyy,flil from
(select f.fdate,f.fname,d.fkk,d.fyy,d.fyy from
fdkl f left join diml d on d.id=f.id
)
这个语句在oracle中是没错的,但是在sqlserver和db2中确报错,在后面两个数据库中必须添加别名,即:
select fdate,fname,fkk,fyy,flil from
(select f.fdate,f.fname,d.fkk,d.fyy,d.fyy from
fdkl f left join diml d on d.id=f.id
)ds
这样才可以正常运行