Как создать ненулевой столбец в представлении

Учитывая таблицу типа:

CREATE TABLE "MyTable" 
(
  "MyColumn" NUMBER NOT NULL
);

Я хочу создать представление типа:

CREATE VIEW "MyView" AS
SELECT
    CAST("MyColumn" AS BINARY_DOUBLE) AS "MyColumn"
FROM "MyTable";

Только там, где столбец "MyColumn" равен "NOT NULL".

В SQL Server это довольно прямолинейно вперед:

CREATE VIEW [MyView] AS
SELECT
    ISNULL(CAST([MyColumn] AS Float), 0.0) AS [MyColumn]
FROM [MyTable];

Однако эквивалент Oracle приводит к столбцу «NULL»:

CREATE VIEW "MyView" AS
SELECT
    NVL(CAST("MyColumn" AS BINARY_DOUBLE), 0.0) AS "MyColumn"
FROM "MyTable";

Есть ли способ заставить Oracle пометить столбец представления как «НЕ NULL» в метаданных?

9
задан Ben 27 January 2013 в 11:49
поделиться