Oracle에 테이블이 있습니다. 이 테이블에는 EMPLOYEE_ID (NUMBER, Nullable, NULL 수는 0) 및 EMPLOYEE_NUMBER (VARCHAR2, Nullable하지만 NULL 수는 0)가 있습니다.보기의 Oracle nullable 및 nullable이 아닌 열
는 지금은이 테이블에 대한 뷰를 작성합니다
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로가된다 있다는 것이 가능하다 Null 허용 EMPLOYEE_NUMBER는 (심지어 NVL 트릭을 사용하여), 그러나이 Null 허용하지
질문 : person_id로 열이보기에 Null 허용하지가되도록 내가, 오라클은 방법으로 뷰를 만들 수 있습니까? 또는 내 WCF oData 서비스가이 뷰를 쿼리하도록 어떻게 만들 수 있습니까? 현재 edmx 파일을 업데이트 한 후 다음과 같이 표시됩니다.
오류 : Oracle.ssdl (227,6) : 오류 0075 : 키 파트 : XXERS_L2E_EMPLOYEE 유형의 'PERSON_ID'이 (가) 유효하지 않습니다. 키의 모든 부분은 Null이 허용되지 않아야합니다.
otehr이 아닌 열 중 하나에서 NVL을 사용하고있을 수 있습니까? – Limey
당신은 분노한 질문을하는 방식으로 당신의 분노를 허용했습니다. 실제로 무슨 일이 일어나고 있는지 설명하고, 당신이하고 싶은 일에서 벗어나는 것을 말해주세요. – APC
NVL과 동일하거나 호환되지 않습니다. 또한 edmx를 업데이트 한 후 Entity Framework에서 뷰에 액세스하려고 할 때 얻는 결과입니다. 지정된 스키마가 유효하지 않습니다. 오류 : Oracle.ssdl (227,6) : 오류 0075 : 키 부품 : XXERS_L2E_EMPLOYEE 유형의 'PERSON_ID'이 (가) 유효하지 않습니다. 키의 모든 부분은 Null이 허용되지 않아야합니다. 가장 좋은 점은 VS2010에서이 열은 자동으로 null이 아닌 것으로 설정되어 PK로 표시된다는 것입니다. –