Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/05/2011, 15:40
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: ORA-04091: mutating, trigger/function may not see it

Como bien dices, puedes utilizar la función NVL dentro del .CTL, y también asignar el valor de un campo en función de otro, por ejemplo:

Código:
SQL> create table t1 (id1 number(8), id2 number(8));

Tabla creada.

SQL> exit
Dentro del .CTL

Código:
LOAD DATA
 INFILE *
 REPLACE
 INTO TABLE T1
 FIELDS TERMINATED BY ","
 (  ID1,
    ID2 "NVL(:ID1,100)"
 )
BEGINDATA
1,2
,2
Llamada al SQL*Loader

Código:
C:\Temp>sqlldr user/pass@sid control=1.ctl
Finalmente el resultado de la tabla es ID2=100 cuando ID1 es NULL

Código:
SQL> select * from t1;

       ID1        ID2
---------- ----------
         1          1
                  100
Saludos