Как создать ненулевой столбец в представлении
Учитывая таблицу как:
CREATE TABLE "MyTable"
(
"MyColumn" NUMBER NOT NULL
);
Я хочу создать вид как:
CREATE VIEW "MyView" AS
SELECT
CAST("MyColumn" AS BINARY_DOUBLE) AS "MyColumn"
FROM "MyTable";
Только там, где столбец & quot; MyColumn & quot; is "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 пометить столбец представления как "NOT NULL"? в метаданных?