0

Oracle でパイプライン関数を作成しました。テーブル形式で列の値を取得するには、この関数を使用する必要があります。そのために、私はこのクエリを書きました:

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

しかし、次のエラーが発生します。

ORA-00933: SQL コマンドが正しく終了していません
00933. 00000 - "SQL コマンドが正しく終了していません"

これを修正する方法を教えてもらえますか?

4

2 に答える 2

3

括弧が適切に一致していないと思います。コードを編集しました

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

基本的に、これらの種類のエラーは構文に関するものです。

于 2013-03-25T11:39:50.683 に答える
0

これでうまくいくと思います。関数 parse_comma_delimited が正しい場合。

    選択する *
              テーブルから (
    parse_comma_delimited(
    ( SOURCE_COLUMNS を選択  
        FROM BW_SUPERMERGE_RULES  
       WHERE RULE_NAME = 'SQL2CUB'
    ), ',')
   );

于 2013-03-25T13:03:00.177 に答える