proc 中的外连接

718阅读 0评论2011-10-31 daydaycome
分类:Oracle

最近公司做数据库迁移,proc中遇到的奇怪问题:
对类似以下的代码  proc总是编译不通过。报left join 为非法字符
  1. EXEC SQL declare test_cur for select tb1 a left join tb2 b on a.fd1=b.fd1;
解决办法:1.用动态sql
  1. sprintf(sCmd,"select tb1 a left join tb2 b on a.fd1=b.fd1");
  2. EXEC SQL prepare sqlstr from :sCmd;
  3. if()
  4. {

  5. }
  6. EXEC SQL DECLARE test_cur for sqlstr;
2.不用left join 关键字
  1. EXEC SQL declare test_cur for select bt1 a , tb2 b where a.fd1(+)=b.fd1;

上一篇:sql
下一篇:shell 文件批量改后缀