私は Mac OSX 用のインストール スクリプトに取り組んでおり、シェル スクリプトを使用してデータベースと、プログラムが使用するために必要なすべてのテーブルを作成しています。私が直面している問題は、必要な手順の作成です。私は複数の実装方法を試しましたが、誰かが例を知っているか、それが可能かどうか疑問に思いました. 以下は、手順が進む限り私が持っているものです。助けていただければ幸いです。
手順:
DELIMITER //
CREATE PROCEDURE Hours_Procedure()
BEGIN
DECLARE avg_usage FLOAT;
DECLARE max_time TIMESTAMP;
DECLARE counter INTEGER;
DECLARE NumOfNodes INTEGER;
DECLARE Num_Hour_Records INTEGER;
SET counter = 0;
SELECT MAX(Node_Num) INTO NumOfNodes FROM Minutes;
loop1 : LOOP SET avg_usage = 0.0;
SET counter = counter + 1;
IF counter = (NumOfNodes + 1) THEN LEAVE loop1;
ELSE SELECT AVG(x.Power_Usage), MAX(x.Record_Time) INTO avg_usage, max_time FROM(
SELECT M.Power_Usage, M.Record_Time FROM Minutes M
WHERE M.Node_Num = counter ORDER BY RID DESC LIMIT 60) x;
INSERT INTO Hours(Node_Num, Record_Time, Power_Usage) VALUES (counter, max_time, avg_usage);
DELETE FROM Minutes WHERE Node_Num = counter ORDER BY RID ASC LIMIT 60;
END IF;
END LOOP loop1;
DROP INDEX Hours_Index ON Hours;
CREATE INDEX Hours_Index ON Hours(RID, Node_Num);
END// DELIMITER ;
私が試したこと:
$mysql -u $_adminuser -h $_host -Bse "USE $_hostdb; $createProc;"
$createProc は、プロシージャを作成するコードです。