2012-02-28 2 views
0

처음으로 조인과 함수가있는 쿼리를 사용하여 VS2010 데이터 세트 디자이너에서 DataSet/TableAdapter를 만들려고합니다. NVL(). 일반적으로 단일 데이터베이스 테이블을 서버 탐색기에서 디자이너 작업 영역으로 끌어서 사용했습니다. 이 경우 내가 마우스 오른쪽 버튼으로 클릭에서 와는 TableAdapter에 추가하고 다음 쿼리 입력 : DataTable에는 적절한 열이 생성 된.Net DataSet Designer 및 NVL() 사용

SELECT a.primary_key, NVL(a.message, b.subject) as subject 
FROM TableA a, TableB b 
WHERE a.primary_key = b.primary_key (+) 
AND (a.time_stamp BETWEEN :time_start AND :time_end); 

합니다. 문제는 TableAdapter에에 쿼리를 실행하려고 할 때 오류를 부여하고 있다는 것입니다 :

Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints. 

나는 각각의 컬럼의 속성에 이상한 아무것도 표시되지 않습니다. 내가 뭘 놓치고 있니?

감사합니다.

+0

가 그렘린 ... 복원 할 수 먹게있어? – b0rg

+0

눈부신뿐만 아니라 좋은 잡기. 감사. 두려워하지 마라, 그것은 코드에있다. 그러나 나는 그것을 여기에서 제공하지 않고 있었다. – McArthey

+0

"whys"메시지를 제외하고 남겨둔 메시지는 주체 외부에 저장됩니다. 즉, 거기에 메시지가 누락 된 경우, 즉 조인이 올바른 경우입니다. 내 대답을 확인하는 쿼리를주었습니다. 결과를 알려주십시오. – b0rg

답변

2

외부 결합이 남아 있고 FROM 절이없는 것 같습니다.

b에 대해 반환 된 행이 없지만 너무 오래 전에 이러한 일이 발생했을 때 이전 조인 구문을 잊어 버렸습니다 ... 쿼리 분석기 또는 ssms에서 쿼리를 실행하여 알려주십시오.)

너무이 쿼리 : FROM 절

select count(1) from tableB where primary_key not in (select primary_key from tableA) 
+0

이것이 문제였습니다. 분명히 기본 테이블에 대한 제약 조건은 여전히 ​​존재하지만 seconday 테이블은 중복 값 삽입을 허용하며 키는 약간 다릅니다. 이 낯선 곳을 찾도록 도와 주셔서 감사합니다. 설명서에 대한 불만과 변화에 대한 모니터링 부족에 대해 * 투표 할 수 있습니까? ;) – McArthey

0

것은 데이터 집합 수준을 "false"에 재산 "EnforceConstraints"을 설정해야합니다.

+0

제안 해 주셔서 감사합니다. 나는 더 조사 중이지만, 나는 덜 "무력한"방법을 원했다. 쿼리는 다른 모든 컨텍스트에서 제대로 실행되고 "미리보기"모드가 정상적으로 작동합니다. 나는이 오류가 어디서 오는지 이해할 수 없도록 널 (null)이 아닌 열, 외래 키 및 고유 키를 모두 만족했다고 생각합니다. 그것은 NVL() 함수 또는 완전히 다른 것 때문입니까? – McArthey

관련 문제