次のようなテーブルがあるとします。
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";
メタデータでビューの列を「NOT NULL」としてマークするようにOracleに強制する方法はありますか?