Oracleにテーブルがあります。このテーブルには、EMPLOYEE_ID (NUMBER、Nullable、ただし NULL の数は 0) および EMPLOYEE_NUMBER (VARCHAR2、Nullable、ただし NULL の数は 0) があります。
次に、このテーブルにビューを作成します。
CREATE OR REPLACE FORCE VIEW APPS.XXKE_L2E_EMPLOYEE
(
PERSON_ID,
EMPLOYEE_NUMBER,
...
)
AS
SELECT EMPLOYEE_ID,
EMPLOYEE_NUMBER,
...
FROM xxke.xxke_employees e
INNER JOIN xxke.xxke_organizations o ON e.organization_id = o.organization_id
INNER JOIN xxke.xxke_operating_units ou ON e.org_id = ou.org_id;
ALTER VIEW APPS.XXKE_L2E_EMPLOYEE
ADD CONSTRAINT XXKE_L2E_EMPLOYEE_V_PK
PRIMARY KEY(PERSON_ID) DISABLE;
そのビューでPERSON_IDが(NVLトリックを使用している場合でも)Nullableになる可能性はありますが、EMPLOYEE_NUMBERはNullableではありません
QUESTION : ビューで PERSON_ID 列が Nullable にならないように、Oracle にビューを作成させるにはどうすればよいですか? または、WCF oData サービスでこのビューにクエリを実行するにはどうすればよいですか。現在、edmx ファイルを更新した後、次のようになります。
エラー: Oracle.ssdl(227,6): エラー 0075: キー パーツ: タイプ XXKE_L2E_EMPLOYEE の 'PERSON_ID' が無効です。キーのすべての部分は、null 非許容である必要があります。