基本的甲骨文问题

时间:2009-10-16 17:22:49

标签: oracle

我使用过这个查询:

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的表... 你能说我为什么吗? 感谢...

3 个答案:

答案 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