Du måste explicit casta NULL till lämpliga typer i den övre 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;
När det gäller alternativen som @evilive säger att du kan använda fasta värden som tom sträng (''
) för VARCHARs eller noll för NUMBERs men enligt min mening är explicit rollbesättning en bättre lösning eftersom det är uppenbart och kommer inte att orsaka överraskningar