私は、複数の列の昏睡区切りの値をOracleの行に変換する表からビューを作成しようとしています。複数の列から行への昏睡区切り値の変換
これを1つの列に対して正常に実行しました。しかし私は2つまたは3つの列のためにそれを行うことができません。
1つの列に対して正常に実行される以下のスクリプトを使用しました。
Create VIEW MULTITESET AS
SELECT rownum AS ID1,Tagging.COMMENTS,Tagging.category,Tagging.STATUS,
trim(regexp_substr(Tagging.OBJ_ID, '[^,]+', 1, lines.column_value)) OBJ_ID
FROM Tagging,
TABLE (CAST (MULTISET
(SELECT LEVEL FROM dual
CONNECT BY instr(Tagging.OBJ_ID, ',', 1, LEVEL - 1) > 0
) AS sys.odciNumberList)) lines
ORDER BY id, lines.column_value
今私は、列OBJ_ID
用などのOBJname
という名前の二列に同じことを行う必要があります。
私は何か愚かな次のように動作しないようにしようとしました。
Create VIEW MULTITESET AS
SELECT rownum AS ID1,Tagging.COMMENTS,Tagging.category,Tagging.STATUS,
trim(regexp_substr(Tagging.OBJ_ID, '[^,]+', 1, lines.column_value)) OBJ_ID
FROM Tagging,
TABLE (CAST (MULTISET
(SELECT LEVEL FROM dual
CONNECT BY instr(Tagging.OBJ_ID, ',', 1, LEVEL - 1) > 0
) AS sys.odciNumberList)) lines
ORDER BY id, lines.column_value ,
trim(regexp_substr(Tagging.OBJname , '[^,]+', 1, lines.column_value)) OBJname
FROM Tagging,
TABLE (CAST (MULTISET
(SELECT LEVEL FROM dual
CONNECT BY instr(Tagging.OBJname , ',', 1, LEVEL - 1) > 0
) AS sys.odciNumberList)) lines
ORDER BY id, lines.column_value
ナッツシェルでは、下の図のテーブルAをテーブルBに変換する必要がありました。どうやってやるの?
私の実際のビューのクエリは次のとおりです。
SELECT rownum AS TRACKID2, LEAPFROG_TAGGING.ID, LEAPFROG_TAGGING.CREATED_DATE,
LEAPFROG_TAGGING.CREATED_BY, LEAPFROG_TAGGING.COMMENTS,
leapfrog_tagging.category, LEAPFROG_TAGGING.STATUS, LEAPFROG_TAGGING.OBJ_NAME,
trim(regexp_substr(LEAPFROG_TAGGING.OBJ_ID, '[^,]+', 1, lines.column_value)) OBJ_ID
FROM LEAPFROG_TAGGING,
TABLE (CAST (MULTISET (
SELECT LEVEL FROM dual
CONNECT BY instr(LEAPFROG_TAGGING.OBJ_ID, ',', 1, LEVEL - 1) > 0
) AS sys.odciNumberList)) lines
ORDER BY id, lines.column_value;
感謝アレックス。 私はこれを試しました。しかし、私はエラー02000を取得しました。00000 - 「 –
私の実際のビューがある "%sのキーワードが欠落している" TRACKID2 AS SELECT ROWNUM、 LEAPFROG_TAGGING.ID、 LEAPFROG_TAGGING.CREATED_DATE、 LEAPFROG_TAGGING.CREATED_BY、 LEAPFROG_TAGGING.COMMENTS、 leapfrog_tagging.category、 AS VIEWのCREATE LEAPFROG_TAGGING FROM LEAPFROG_TAGGING.STATUS、 LEAPFROG_TAGGING.OBJ_NAME、 トリム(REGEXP_SUBSTR(LEAPFROG_TAGGING.OBJ_ID、 '[^、] +'、1、lines.column_value))OBJ_ID 、 表(CAST(MULTISET (からのレベル を選択デュアル CONNECT BY instr(LEAPFROG_TAGGING.OBJ_ID、 '、'、1、LEVEL - 1)> 0 )AS sys.odciNumberList))行 ORDER BY id、 lines.column_value; –
'CREATE VIEW AS SELECT'に新しいビューの名前がありません。しかし、コメントにコードをダンプしないでください。本当に読みにくいです。それが関連している場合は、質問を編集してください...そのコードは不足しているキーワードを取得するか、答えにコードを実行しますか?おそらくあなたはかなり修正する必要がありました。 –