저장 프로 시저를 만들려고하는데 오류가 발생했습니다. 하위 쿼리는 아래 쿼리에 대해 둘 이상의 행을 반환합니다. 커서를 사용하여 수행 할 수 있지만 여러 테이블에 대한 저장 프로 시저에 추가해야하는이 쿼리가 여러 개 있기 때문에 커서를 사용하지 않고 저장 프로 시저에서이 쿼리를 직접 실행할 수있는 다른 방법이 있습니다.저장 프로 시저 오류 : 하위 쿼리가 두 개 이상의 행을 반환합니다.
검색어 : -
UPDATE ipcc_patent_ipc_class
SET assignee_type = (
SELECT IF(ipcc_patent_master.assignee_type='$ipcc_config_param[0]',$ipcc_config_value[0],IF(ipcc_patent_master.assignee_type='$ipcc_config_param[1]',$ipcc_config_value[1],null))
FROM ipcc_patent_master
WHERE ipcc_patent_ipc_class.patent_id = patent_uid);
하지만이 쿼리가 여러 필드에 대한 작동 : -
UPDATE ipcc_patent_ipc_class
SET geographies_id=(
SELECT ipcc_geographies.geographies_uid
FROM ipcc_patent_master,ipcc_geographies
WHERE ipcc_patent_master.geographies = ipcc_geographies.geographies
AND ipcc_patent_ipc_class.patent_id = ipcc_patent_master.patent_uid
),
jurisdictions_id =(
SELECT ipcc_jurisdictions.jurisdisctions_uid
FROM ipcc_patent_master,ipcc_jurisdictions
WHERE ipcc_patent_master.jurisdictions = ipcc_jurisdictions.jurisdictions
AND ipcc_patent_ipc_class.patent_id = ipcc_patent_master.patent_uid
),
country_code_id =(
SELECT ipcc_country_code.country_code_uid
FROM ipcc_patent_master,ipcc_country_code
WHERE ipcc_patent_master.country_code= ipcc_country_code.country_code
AND ipcc_patent_ipc_class.patent_id = ipcc_patent_master.patent_uid
);
당신이 정확한 오류 및 * 시도하고있는 정확한 SQL을 인용 할 수 * SP를 만드시겠습니까? – Unreason