我在 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 变为Nullable(即使使用 NVL 技巧),但 EMPLOYEE_NUMBER不是 Nullable
问题:如何让 Oracle 以某种方式创建视图,使 PERSON_ID 列在视图中变为 NOT Nullable?或者我怎样才能让我的 WCF oData 服务查询这个视图。目前在更新 edmx 文件后,我得到以下信息:
错误:Oracle.ssdl(227,6):错误 0075:关键部分:XXKE_L2E_EMPLOYEE 类型的“PERSON_ID”无效。密钥的所有部分都必须不可为空。