Je suis en train de créer une procédure stockée, mais en me donnant une erreur: Sous-requête renvoie plus de 1 ligne pour la requête ci-dessous. Cela peut être fait en utilisant des curseurs, mais existe-t-il d'autres moyens d'exécuter directement cette requête dans des procédures stockées sans utiliser de curseurs car il existe plusieurs requêtes de ce type que j'ai besoin d'ajouter dans une procédure stockée pour plusieurs tables.erreur de procédure stockée: sous-requête renvoie plus de 1 lignes
Requête: -
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);
Mais cette requête fonctionne pour le champ multiple: -
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
);
Pouvez-vous citer l'erreur exacte et SQL exacte avec laquelle vous essayez * * créer le SP? – Unreason