Forum Discussion
SQL Help
Hi! I am using phpMyAdmin to complete an SQL group project for college and each group member was given a specific task to complete. I have been struggling with my task for days. We were given a music-related database with tables such as albums, songs, song_album etc. My exact task is as follows::: I must create a stored procedure called AddTrack(A, S) where A is an album_id in table albums and S is a song_id in table songs. The procedure should check if A is an album_id existing in table albums and if S is a song_id existing in table songs, and if both conditions are correct, it should add the row (A, S, TN+1) to the table song_album where TN is the highest track_no for album A in table song_album. This is my attempt:
CREATE PROCEDURE AddTrack (A INT, S INT)
MODIFIES SQL DATA
BEGIN
DECLARE AChecker INT;
DECLARE SChecker INT;
DECLARE TN INT;
IF EXISTS (SELECT album_id FROM albums WHERE album_id = A)
THEN SET AChecker = 1 AND
SET TN = (SELECT MAX(track_no) FROM song_album WHERE album_id = A);
ELSE SET AChecker = 0;
END IF;
IF EXISTS (SELECT song_id FROM songs WHERE song_id = S)
THEN SET SChecker = 1;
ELSE SET SChecker = 0;
END IF;
IF AChecker = 1 AND SChecker = 1 THEN
INSERT INTO song_album VALUES (A, S, TN+1);
END IF;
END;1 Reply
- olafhelperBronze Contributor
fionn3892 wrote:Hi! I am using phpMyAdmin
fionn3892 , that tool is for MySQL server, which isn't a Microsoft product, so wrong forum.
Better post to a more related one => MySQL :: MySQL Forums
Olaf