4

MySQL 데이터베이스 및 Entity Framework 5.0.0 사용하는 동안 VS2012 프로젝트에서 작업하고 있습니다.Entity Framework 저장 프로 시저 : 함수 가져 오기 복잡한 형식으로 가져 오기 열 정보 가져 오기

선택한 저장 프로 시저 또는 함수가 더 열을 반환 : 내가 저장 프로 시저에서 새 Complex 유형을 만들려고 할 때 버튼 "열 정보 가져 오기"를 클릭하면

, 나는 오류가 발생합니다.

내 저장 프로 시저 코드는 다음과 같습니다 :

DROP PROCEDURE IF EXISTS SearchAlgemeenSet; 

Delimiter // 

CREATE PROCEDURE SearchAlgemeenSet(IN in_searchQuery VARCHAR(255)) 
BEGIN 
     SELECT Blokken, Jaargang, Werk_Uren 
FROM algemeensets 
WHERE Blokken LIKE in_searchQuery 
    OR Jaargang LIKE in_searchQuery 
    OR Werk_Uren LIKE in_searchQuery; 
END 
// 

Delimiter ; 

내가 in_searchQuery 매개 변수가 일치하는 경우는 열을 반환 긍정적입니다.

제 연구에서 필자는 Microsoft SQL 데이터베이스에 대한 많은 솔루션을 발견했습니다. 그러나 이러한 솔루션 중 어느 것도 MySQL 데이터베이스에 적용되지 않습니다.

해결 방법?

답변

0

in_searchQuery 매개 변수에 일치하는 항목이 있으면 열을 반환한다는 것은 긍정적입니다.

그것이이 정확한 일치 in_searchQuery 값에 대해 행이 반환되지 않습니다 발견하지 않는 한, 부분 검색에 대한 와일드 카드를 사용하지 않기 때문에. 부분 일치가 발생하려면 값의 와일드 카드 기호 '%'을 사용해야합니다.

수정 절차, 다음과 같이해야합니다 :

DROP PROCEDURE IF EXISTS SearchAlgemeenSet; 

Delimiter // 

CREATE PROCEDURE SearchAlgemeenSet(IN in_searchQuery VARCHAR(255)) 
BEGIN 

    set @search_criteria := concat('%', in_searchQuery, '%'); 

    SELECT Blokken, Jaargang, Werk_Uren 
    FROM algemeensets 
    WHERE Blokken LIKE @search_criteria 
     OR Jaargang LIKE @search_criteria 
     OR Werk_Uren LIKE @search_criteria; 
END; 
// 

Delimiter ; 

에는 검색 조건이 발견 된 일치가없는, 빈 세트가 반환 될 때.
스크립팅 언어에서 프로 시저가 결과를 반환했는지 여부를 미리 확인해야합니다. 이를 기반으로 데이터가 없거나 다른 작업을 수행 할 수 있다는 메시지를 표시 할 수 있습니다.

관련 문제