0

エラー ora-01722: 無効な番号が発生しました。to_char、キャスト関数を試しましたが、何も役に立ちません。PERSON_DOCS と PERSON_DOCS_NEW はビューであり、フィールド DOCTYPENAME はビュー内の副選択を使用して計算され、タイプは varchar2(70) であり、両方のビューのすべての行で null です。

    select count(1) from 
     (select DOCTYPENAME
        from PERSON_DOCS 
      minus 
      select DOCTYPENAME
        from PERSON_DOCS_NEW)

現時点でのビューは同じです。

CREATE OR REPLACE VIEW PERSON_DOCS AS
  select

...,

(select lr.ll_remark
   from table1 ln,
        table2 lv,
        table3 lr
  where ln.short_name = 'DOC.TYPE'
    and ln.table_no = lv.table_no
    and lv.table_no = lr.table_no
    and lv.vetting_table = c.doc_type) as DOCTYPENAME,
 
...

from table0 c

ビュー内のサブセレクトで to_char 関数をキャストしようとしましたが、役に立ちません。

表 3 の DDL ステートメント。値の由来は次のとおりです。

CREATE TABLE table3
   (TABLE_NO VARCHAR2(35 BYTE), 
    LL_REMARK VARCHAR2(70 BYTE)
   ) ;

CREATE TABLE table1
   (TABLE_NO VARCHAR2(35 BYTE), 
    SHORT_NAME VARCHAR2(15 BYTE)
   );

CREATE TABLE table2
   (TABLE_NO VARCHAR2(35 BYTE), 
    VETTING_TABLE VARCHAR2(35 BYTE), 
    APPLICATION VARCHAR2(40 BYTE)
   );

CREATE TABLE table0
   (CUSTOMER_CODE VARCHAR2(10 BYTE),
    DOC_TYPE NUMBER
   );
4

1 に答える 1