CREATE DEFINER=`root`@`localhost` FUNCTION `F_GetProjectCostPerEmployeeInProject`(id VARCHAR(20)) RETURNS DECIMAL(30,2)
BEGIN
DECLARE e_id VARCHAR(20);
DECLARE finished INT ;
DECLARE temp DECIMAL(30,2);
DECLARE temp2 DECIMAL(30,2);
DECLARE TotalCostOfEmployees DECIMAL(30,2);
DECLARE cur CURSOR FOR SELECT DISTINCT e_id FROM project_employee WHERE project_id=id;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
emploop : LOOP
FETCH cur INTO e_id;
IF finished =1 ;
LEAVE emploop;
END IF ;
SET TotalCostOfEmployees = TotalCostOfEmployees + (F_TotalManDaysPerEmployee(e_id,id)*(F_GetEmployeeGradeSal(e_id));
END LOOP emploop;
RETURN TotalCostOfEmployees;
END$$
を2つの出力を追加することで問題はラインでその与えるエラーです:問題は別の関数内のMySQL関数から
SET TotalCostOfEmployees = TotalCostOfEmployees + (F_TotalManDaysPerEmployee(e_id,id)*(F_GetEmployeeGradeSal(e_id));
これはエラーです:
エラーコード:1064あなたが持っています のSQL構文にエラーがあります。 がMySQLサーバーの バージョンに対応していることを確認し、適切な構文で を使用してください。 '; emploopを残す。終了する。
set TotalCostOfEmployees = TotalCostOfEmploy' at line 12
ちょっとは感謝..それはとてもミスを犯した:) – Joy
@JoyのNPが....私はMySQLでの初心者であること....私を助けました。あなたの質問への答えを受け入れることを忘れないでください:-) –
申し訳ありません私はここに私の間違ったセクションに直面して私の別の問題を投稿したと思いますthtを見てください? – Joy