oracle 使用toad执行SQL函数

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/12315085/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 01:05:49  来源:igfitidea点击:

Executing SQL Function using toad

sqloraclefunctiontoad

提问by Reddy

I am very new to DB. I am java developer and nothing to do with SQL Functions. But now I am in a situation where I need to check whether an sql function is getting executed properly on db or not

我对 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;
/

How to execute this sql function in toad. I want to see the results like normal Select query output

如何在toad中执行这个sql函数。我想看到像正常 Select 查询输出一样的结果

回答by TechDo

To check a table valued function please try:

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

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

回答by Girish R Acharya

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 

回答by Robert

Try:

尝试:

 select  RATELIMIT_OWN.Get_Logs(...) from dual;