日期:2014-05-16  浏览次数:20992 次

动态sql中如何绑定多个重复出现参数
在动态sql中我需要绑定多个条件参数,其中部分存在重复出现的参数,请问这种情况open cur_Record For L_Sql Using 的参数如何绑定,难道只能一个个按顺序重复写?
说明:cur_Record 是一个定义的游标变量,L_Sql为动态sql语句,内容如下
with aa as (
    Select * from tableA 
    where testKey = :P_TestKey
),
bb as(
    Select * from tableB
    Where SchoolKey := P_SchoolKey 
    And testKey = :P_TestKey
)
Select *
From TableC cc
Left Join aa ON aa.StudentKey = cc.StudentKey
Left Join bb On bb.studentKey = cc.StudentKey 
Where cc.TestKey = :P_TestKey
And cc.ClassKey = :P_ClassKey

请教大家了,谢谢!


------解决方案--------------------
引用:
目前我知道的绑定方式是按顺序一个个对应着动态sql的占位符,如
open cur_Record for L_sql using P_TestKey,P_SchoolKey,P_TestKey,P_TestKey,P_ClassKey

但我想问的是有没有其他的绑定方法,如简化成
open cur_Record for L_sql using P_TestKey,P_SchoolKey,P_ClassKey
这样的话比较简洁清晰


貌似没有,不过你可以改成游标方式,一个变量可以多处引用的。