我使用过这个查询:
SELECT text FROM all_source WHERE owner = 'TOTAL' AND lower(name) = lower('LECGROUPTIME') ORDER BY line
找到名为LECGROUPTIME的上下文函数。 我收到了:
Function LECGROUPTIME (inGroupCode in varchar2)
Return Varchar2
is
Cursor GetTime is
Select Day,BeginTime,Endtime
From Program Where Groupcode = inGroupCode;
MyDay Varchar2(10) ;
MyFlag Number;
MyTime Varchar2(200);
MyBuf Varchar2(50);
MyDayBuf Varchar2(10);
MyBeginTime Date;
MyEndTime Date;
begin
MyFlag := 0;
myTime := ' ';
Open GetTime;
Loop
Fetch GetTime InTo MyDay,mybeginTime,MyEndTime;
Exit When (GetTime%NOTFOUND) OR (GetTime%NOTFOUND is NULL);
Select Day InTo MyDayBuf From Refrence
Where No = MyDay;
If MyFlag <> 0 Then
MyTime := MyTime || ' و ';
End If;
MyTime := MyTime || myDayBuf || To_Char(MyBeginTime,'HH24:MI') || ' تا ' || To_Char(MyEndTime,'HH24:MI');
MyFlag := 1;
End Loop;
Close GetTime;
IF myTime=' ' Then
MyTime:='--';
End If;
Return MyTime;
Exception
When NO_DATA_FOUND Then
Return '--';
End;
在一行中有: 选择日期,开始时间,结束时间 从程序在哪里......
我看不到任何名为Program的表... 你能说我为什么吗? 感谢...
答案 0 :(得分:1)
您可以自己运行该查询吗?
怎么样......
select *
from all_objects
where object_name = 'PROGRAM';
答案 1 :(得分:0)
您的数据库上的用户很可能无权查看该表。您可以通过DBA确认。
答案 2 :(得分:0)
您无法看到它,因为您无权查看它。但是,当你运行它时,该函数可以“看到它”,因为默认情况下它具有定义者的权限。
以下是更多信息:http://download.oracle.com/docs/cd/B13789_01/appdev.101/b10807/08_subs.htm#i18574