oracle ebs中获取lov的sql语句

在我们实际的开发中, 我们可能需要制作一个已经存在的lov,但是我们没有form源文件,不能直接获取sql语句,这时候怎么办呢?

现在我们就是通过个性化和数据库获取lov的sql语句。

1.获取session id

在LOV的block做个性化

条件:1=1

活动:消息

消息类型:显示

消息文本 :=(SELECT t.sid FROM v$mystat t where rownum = 1)

–获得当前session对应的sid

 1111

2.点击lov触发

2222

3. 三、在plsql中查询上一条和当前sql的prev_sqladdress

SELECT s.prev_sql_addr  FROM v$session s WHERE s.sid = 223; –223是刚才的sessionid

3333

4.现在就拿到sql了,但是注意,当一行显示不完的时候,它会自动换行,执行的是

select sql_text from  v$sqltext_with_newlines t where t.ADDRESS=’000000007A5C5910′

后面那个是上面执行得到的地址

4444

所以最后得到的sql是:select vendor_id ,vendor_number,vendor_name from TRN_VENDORS_4835

注意:如果你得到的是多好数据,你就倒着粘贴,组织起来就是要的sql了

共有 0 条评论

Top