-3
我在存储过程中的下列问题:存储过程select返回“操作数应包含1列”
BEGIN
declare docId int(11);
declare sendingUserVar varchar(100);
declare accountManagerVar varchar(100);
declare ppp varchar(100);
declare zzz varchar(100);
declare varTotalNat double(10,2);
declare varStageName varchar(50);
declare varAccountId varchar(50);
declare varCompanyName varchar(500);
declare varClientName varchar(500);
declare varPhone varchar(500);
declare varEmail varchar(500);
declare varBillingCity varchar(500);
declare varBillingCountry varchar(500);
declare varBillingState varchar(500);
declare docCursor cursor for select documentId FROM Export.Document;
open docCursor;
start_loop: loop
fetch docCursor into docId;
select docId;
SELECT SUM(total) INTO varTotalNAT FROM DocumentItem WHERE documentId = docId;
SELECT AccountId, StageName, CreatedById, OwnerId
INTO varAccountId, varStageName, sendingUserVar, accountManagerVar
FROM sfExport.Opportunity WHERE Opportunity_Number__c = docId LIMIT 1;
SELECT Name, Phone, Site_Visit_Notes__c, BillingCity, BillingCountry, BillingState
INTO varCompanyName, varPhone, varEmail, varBillingCity, varBillingCountry, varBillingState
FROM sfExport.Account WHERE Id = varAccountId LIMIT 1;
SELECT Name INTO varClientName FROM sfExport.Contact WHERE AccountId = varAccountId LIMIT 1;
UPDATE Export.Document
SET
totalNAT = varTotalNAT,
stage = varStageName,
sendingUser = sendingUserVar,
accountManager = accountManagerVar,
companyName = varCompanyName,
name = varClientName,
phone = varPhone,
email = varEmail,
city = varBillingCity,
physicalCountry = varBillingCountry,
physicalState = varBillingState
WHERE documentId = docId;
select('a row processed',docId);
end loop;
close docCursor;
END
每当我把这个存储过程,我得到ERROR 1241 (21000): Operand should contain 1 column(s)
。现在的问题是: “为什么?”,因为我对所有的 “子查询”
这是最愚蠢的错字我迄今为止...大声笑thanx –