我在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是 NOT Nullable
QUESTION :如何让Oracle以某种方式创建视图,因此PERSON_ID列在视图中变为不可为空?或者如何让我的WCF oData服务查询此视图 . 目前在更新edmx文件后,我得到以下内容:
错误:Oracle.ssdl(227,6):错误0075:关键部分:类型XXKE_L2E_EMPLOYEE的'PERSON_ID'无效 . 密钥的所有部分都必须是不可为空的 .