gpt4 book ai didi

MYSQL - 存储过程指南

转载 作者:行者123 更新时间:2023-11-29 00:37:26 24 4
gpt4 key购买 nike

我需要编写一个存储过程,通过它我必须找到过去 6 个月内 radio 播放歌曲的总时间,每个月,所以 6 个输出,这个月,上个月,等等,直到 6 个月前。为此,我必须使用 Track_no 的 start_airtime 和 finish_airtime。这些总和将给出总播出时间,并且必须由每个单独的月份分隔,输出应包含两列,首先是月份名称,其次是播出的总时间。

注意开始播出时间和结束播出时间是歌曲的长度,但我没有可用的信息,必须从这两个值中得出。

我的表设置如下:

track_no TINYINT(3) UNSIGNED
genre VARCHAR(60)
purchasedate DATE NOT NULL
start_airtime TIME NOT NULL
finish_airtime TIME
artist CHAR(9)

我对存储过程一无所知,所以任何信息都将不胜感激。非常感谢。

到目前为止我的代码是:

DELIMITER //
DROP PROCEDURE IF EXISTS airtime_of_month//
CREATE PROCEDURE airtime_of_month(IN track_input TINYINT)
BEGIN
DECLARE x, track_num TINYINT;
DECLARE totalTime VARCHAR(25);
SET x = 7;
SET track_num = track_input;
WHILE x > 1 DO
SET x = x - 1;
SELECT track_no INTO track_num
FROM Radio
WHERE track_input = track_no;
IF (track_input IS NULL) THEN
SELECT CONCAT(track_input, ' Is Not
A Valid Track Number') as _;
ELSE
SELECT track_no,
CONCAT(FLOOR(HOUR(TIMEDIFF(finish_airtime,start_airtime)) / 24), ' days ',
MOD(HOUR(TIMEDIFF(finish_time,start_airtime)), 24), ' hrs ',
MINUTE(TIMEDIFF(finish_airtime,start_airtime)), ' minutes ') AS total_AirTime
FROM Radio
WHERE DATE_SUB(MONTH(purchasedate), INTERVAL x
MONTH);
END IF;
SELECT track_num;
END WHILE;
END //

CALL airtime_of_month (2)/
DELIMITER ;

然而,当我这样做时,它确实编译但不返回任何东西。有什么想法吗?

最佳答案

函数示例:

DROP FUNCTION IF EXISTS test;

DELIMITER $$
CREATE FUNCTION test(in_number INT) RETURNS INT
BEGIN
DECLARE countTotal INT;
SET countTotal = SELECT COUNT(*) FROM nGrams;
RETURN countTotal + in_number;
END $$
DELIMITER ;

程序示例:

DROP PROCEDURE IF EXISTS cron_scrubber;

DELIMITER $$
CREATE PROCEDURE cron_scrubber()
BEGIN

INSERT INTO driver_car_ready_history (id_driver_car_ready, status, date_register, id_driver_car, id_job)
SELECT dcr.id_driver_car_ready, dcr.status, dcr.date_register, dcr.id_driver_car, dcr.id_job
FROM driver_car_ready dcr
ORDER BY dcr.id_driver_car_ready;

TRUNCATE TABLE driver_car_ready;

END $$
DELIMITER ;

希望对您有所帮助。

关于MYSQL - 存储过程指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13672722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com