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;
- 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