0

問題: レコードがテーブルで既に使用可能かどうかを確認しようとしています。このチェックでは、id と isAlive の 2 つの列を使用します。

Insert into table1 (id,name,isAlive)
  Select t2.id, 
         t2.name, 
         null as isAlive
    From table2 t2
   Where Not exist ( select 1 
                       from table1 t1 
                      where t1.id=t2.id
                        and t1.column2 is null )

Table1 Data:
{id,name,isAlive}
{123,'Test','Y'}
{234,'Test1',null}

Table2 Data:
{id,name}
{123,'Test'}
{234,'Test1'}
{456,'Test2'}

テーブル t1 に 456 を挿入しようとすると、次のエラーで SQL が失敗します

ORA-01722: invalid number
01722. 00000 -  "invalid number"
*Cause:    
*Action:
4

1 に答える 1

0

列の 1 つは varchar で、number Thanks と比較していました。解決済み

于 2013-10-23T08:36:05.240 に答える