本帖最后由 zdp0350543 于 2013-10-17 11:06:10 编辑

解决方案 »

  1.   

    dual中没有startdate和enddate这两个字段。
      

  2.   

    我只是想写个类似 where '2013/10/17 9:59:12' = '2013/10/17 9:59:12'的效果 来试试参数是否传入。但是我一直没搞懂,定义SQL的时候用的SQL :=   ,而调用参数用的=:  是为什么,就算我改成  WHERE :startdate = :startdate  AND :enddate = :enddate' 也一样报错,错误变成了并非所有参数已绑定。
      

  3.   

    我只是想写个类似 where '2013/10/17 9:59:12' = '2013/10/17 9:59:12'的效果 来试试参数是否传入。但是我一直没搞懂,定义SQL的时候用的SQL :=   ,而调用参数用的=:  是为什么,就算我改成  WHERE :startdate = :startdate  AND :enddate = :enddate' 也一样报错,错误变成了并非所有参数已绑定。已解决,因为我改成WHERE :startdate = :startdate  AND :enddate = :enddate' 的话,参数相当于各被调用两次,把USING那句改成 OPEN p_cur FOR sqlString USING startdate,startdate,enddate,enddate就 OK了。但是我还想请教下我上面提到的问题,为什么一个是:= 一个是=:。感谢。
      

  4.   

    := 是pl/sql的赋值操作
    :A 是绑定变量。where :A = :A 是不行的。你可以把dual后面的条件改成 where to_date('2013/10/17','yyyy/mm/dd') = :startdate 之类。
      

  5.   

    感谢你的解答,但是实际上where :A = :A是可以的,我是经过调试才回帖的,只不过要把参数也传两次,再次感谢,结贴。