简体   繁体   English

Oracle中的流水线函数

[英]Pipelined function in oracle

I have created a pipelined function in Oracle. 我已经在Oracle中创建了流水线函数。 I need to use this function to get a column value in table format; 我需要使用此函数来获取表格式的列值; for that I have written this query: 为此,我编写了以下查询:

 SELECT * 
   FROM TABLE (
               parse_comma_delimited(
                                      ( SELECT SOURCE_COLUMNS 
                                          FROM BW_SUPERMERGE_RULES 
                                         WHERE RULE_NAME = 'SQL2CUB' 
                                      ), ',')
                                    )
               );

But I am getting the following error: 但是我收到以下错误:

ORA-00933: SQL command not properly ended ORA-00933:SQL命令未正确结束
00933. 00000 - "SQL command not properly ended" 00933. 00000-“ SQL命令未正确结束”

Can any one suggest me to how to fix this? 有人可以建议我解决此问题吗?

I think your parenthesis is not properly matched, I've edited the code 我认为您的括号未正确匹配,我已经编辑了代码

SELECT * 
  FROM TABLE (parse_comma_delimited (SELECT SOURCE_COLUMNS 
                                     FROM BW_SUPERMERGE_RULES 
                                     WHERE RULE_NAME = 'SQL2CUB', ','));

Basically these kind of errors are for syntax. 这些错误基本上是针对语法的。

I think this will work; 我认为这会起作用; if your function parse_comma_delimited is correct. 如果您的函数parse_comma_delimited是正确的。

SELECT * 
              FROM TABLE (
    parse_comma_delimited(
    ( SELECT SOURCE_COLUMNS  
        FROM BW_SUPERMERGE_RULES  
       WHERE RULE_NAME = 'SQL2CUB' 
    ), ',')
   );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM