使用toad执行SQL函数

使用toad执行SQL函数,sql,oracle,function,toad,Sql,Oracle,Function,Toad,我对DB很陌生。我是java开发人员,与SQL函数无关。 但现在我需要检查sql函数是否在db上正确执行 CREATE OR REPLACE FUNCTION RATELIMIT_OWN.Get_Logs ( p_yyyymm VARCHAR2, p_numec NUMBER ) RETURN LOG_RECORD_TABLE PIPELINED IS TYPE ref0 IS REF CURSOR; cur0 ref0; out_rec LOG_RECO

我对DB很陌生。我是java开发人员,与SQL函数无关。 但现在我需要检查sql函数是否在db上正确执行

CREATE OR REPLACE FUNCTION RATELIMIT_OWN.Get_Logs ( p_yyyymm VARCHAR2, p_numec NUMBER )
RETURN LOG_RECORD_TABLE PIPELINED IS

TYPE        ref0 IS REF CURSOR;
cur0        ref0;

out_rec     LOG_RECORD := log_record(NULL,NULL,NULL);

BEGIN

OPEN cur0 FOR
  'SELECT eventid, errormsg, create_date from logs partition (LOGS_P' || p_yyyymm || ') where numec=:1'
USING p_numec;

  LOOP
   FETCH cur0 INTO out_rec.eventid, out_rec.msg, out_rec.create_date;
   EXIT WHEN cur0%NOTFOUND;
   PIPE ROW(out_rec);
  END LOOP;
  CLOSE cur0;

RETURN;
END Get_Logs;
/

如何在toad中执行此sql函数。我想查看与普通选择查询输出类似的结果要检查表值函数,请尝试:

select * FROM table(RATELIMIT_OWN.Get_Logs('a', 1));

要检查表值函数,请尝试:

select * FROM table(RATELIMIT_OWN.Get_Logs('a', 1));
尝试:

尝试:


下面是错误选择*表(RATELIMIT_OWN.Get_Logs('a',1))*第1行错误ORA-02149:指定的分区不存在ORA-06512:第11行“RATELIMIT_OWN.Get_Logs”,请检查/确认提供给函数的参数。i、 用语句“select*FROM table(RATELIMIT_OWN.Get_Logs('a',1));”中的参数替换值“a”和1。select*FROM dba_选项卡_分区的输出是什么,其中table_name='Logs'?我在下面看到错误select*FROM table(RATELIMIT_OWN.Get_Logs('a',1))*第1行错误ORA-02149:指定的分区不存在ORA-06512:在“RATELIMIT_OWN.GET_LOGS”第11行,请检查/确认提供给函数的参数。i、 用语句“select*FROM table(RATELIMIT_OWN.Get_Logs('a',1));”中的参数替换值“a”和1。select*FROM dba_tab_分区的输出是什么,其中table_name='Logs'?错误:select RATELIMIT_OWN.Get_Logs('a',1))从第0行ORA-00904的dual*错误::标识无效我是SQL的新手。我不知道什么是光标cur0!让我知道要执行什么语句,我将执行什么语句,然后发回这个查询:
“选择eventid,errormsg,从日志分区创建日期(logs_P'| P|u yyyymm | |”)”
有效吗?您必须用参数替换
p\u yyyymm
,例如
'a'
。使用参数'a',查询如下:
选择eventid、errormsg、从日志分区创建日期(logs\u Pa)
。尝试运行它。错误:选择RATELIMIT_OWN。从第0行的dual*错误中获取日志('a',1')。ORA-00904::标识无效我是SQL的新手。我不知道什么是光标cur0!让我知道要执行什么语句,我将执行什么语句,然后发回这个查询:
“选择eventid,errormsg,从日志分区创建日期(logs_P'| P|u yyyymm | |”)”
有效吗?您必须用参数替换
p\u yyyymm
,例如
'a'
。使用参数'a',查询如下:
选择eventid、errormsg、从日志分区创建日期(logs\u Pa)
。试着运行它。
FOE EXECUTING THE FUNCTION    
SELECT RATELIMIT_OWN.Get_Logs(....,...) FROM DUAL ;

AND
ORA-00904:  MEAN COLUMN NAME IS NOT VALID PLSS CHECK THE COLUMN NAME