È necessario eseguire il cast esplicito di NULL sui tipi appropriati nella parte superiore di SELECT
.
CREATE VIEW MY_VIEW AS
SELECT
TABLE_A.A1,
TABLE_A.A2,
CAST(null AS <type_of_TABLE_B_B2>) as B2
from TABLE_A
union all
SELECT
null,
TABLE_B.B1,
TABLE_B.B2
from TABLE_B;
Per quanto riguarda le alternative come @evilive dice che puoi usare valori fissi come stringa vuota (''
) per VARCHARs o zero per NUMBERs ma secondo me il cast esplicito è una soluzione migliore perché è ovvio e non causerà sorprese