这是公司里面的一个数据库开发员写的存储过程,刚接触Oracle存储过程,真心不明白里面的“||”是什么意思,还有为什么要把可以一句写出来的SQL写的断断续续的。哪位大神能帮忙翻译一下这个存储过程?

解决方案 »

  1.   

    这是动态sql
      

  2.   

    ||是用来连接字符串。
    其他一些开发语言,两个字符串连接通常是用+号,如"ABC"+"DEF"结果为"ABCDEF"。
    而Oracle则不这样,+用于两个数字相加,如果是"ABC"+"DEF",则报错,需要"ABC"||"DEF"结果才为"ABCDEF"。那些语句是用来拼SQL语句的,如传进来表名、列名,就拼出“select 列名 from 表名”这样的语句,如果传进来where判断,则在SQL语句后追加where语句……