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
Executing SQL Function using toad
提问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;