各位大侠!!哪位可以帮我看一下以下语句:
select a.lotid, get_lot_attr(a.lotid, 'PACKGATE') gate, get_lot_attr(a.lotid, 'PACKTRAY') status, b.evalcode From lot a, lotattribute b where a.lotid = b.lotid and b.line = 'GFMS';在这个语句中get_lot_attr(a.lotid, 'PACKGATE')是什么意思?
在lot和lotattribute上没有相关的列和数据。
谢谢!!!

解决方案 »

  1.   

    是其他人开发的PL/SQL函数的吧
      

  2.   

    在这个语句中get_lot_attr(a.lotid, 'PACKGATE')应该是个用户自己编写的存储函数吧,通过传进二个参数获得某个想要的数据。
      

  3.   

    get_lot_attr(a.lotid, 'PACKGATE')
    get_lot_attr是一个函数,这个函数有两个参数
      

  4.   

    SELECT owner, object_name, object_type, status
      FROM dba_objects
     WHERE object_name = UPPER ('get_lot_attr');
      

  5.   


    这个方法不错,先查查看有没有这个函数。 如果没有权限查询db_objects, 可改为在all_objects或user_objects里面查。
      

  6.   

    查source吧!
    用户自定义函数地说
      

  7.   

    get_lot_attr(a.lotid, 'PACKGATE')是一个函数啊,里面需要两个变量
      

  8.   

    顶一下四楼的回复,同时还可以通过select text from all_source where name=upper('&plsql_name')输入get_lot_attr来查询这个函数的代码
      

  9.   

    get_lot_attr(a.lotid, 'PACKGATE')
    get_lot_attr是一个函数,这个函数有两个参数 ,调用的时候把当前行的lotid列,和字符串'PACKGATE'作为参数。
    可以从数据字典的视图dba_objects 或者all_source查看。
      

  10.   

    1,SELECT * FROM all_objects WHERE object_name = 'GET_LOT_ATTR'; 
    2,SELECT * FROM dba_objects WHERE object_name = 'GET_LOT_ATTR'; 
    3,select text from all_source where name='GET_LOT_ATTR'; 
    应该能找到记录
      

  11.   

    用户自定义函数。
    如果使用的是PL/SQL DEVELOPER 就在FUNCTIONS文件夹里找就可以找到对应的函数。