So I have to make an import for a CSV file in ASP.NET, and after that is need to be sorted in the right tables.
The importing works and I use a trigger to furthe sort out the data, but when I run the code it doesn't get fired. I kind of new to SQL so please be gentle :) Here is my code:
CREATE TRIGGER sortTables
ON CSVtussenTabel
AFTER INSERT
AS
declare @titel varchar(100);
declare @artiest varchar(100);
declare @jaar int;
declare @positie int;
declare @eindzenddatum datetime;
declare @van float;
declare @tot float;
declare @artiestTeller int;
declare @songTeller int;
set @titel = (SELECT Titel FROM CSVtussenTabel);
set @artiest = (SELECT Artiest FROM CSVtussenTabel);
set @jaar = (SELECT Jaar FROM CSVtussenTabel);
set @positie = (SELECT Positie FROM CSVtussenTabel);
set @eindzenddatum = (SELECT Eindzenddatum FROM CSVtussenTabel);
set @van = (SELECT Van FROM CSVtussenTabel);
set @tot = (SELECT Tot FROM CSVtussenTabel);
set @artiestTeller = (SELECT COUNT(*) FROM Artiest) + 1;
set @songTeller = (SELECT COUNT(*) FROM Song) + 1;
IF((SELECT COUNT(*) FROM Artiest WHERE @artiest IN (SELECT naam FROM Artiest)) = 0)
BEGIN
INSERT INTO Artiest (naam)VALUES ( @artiest);
END
IF((SELECT COUNT(*) FROM Song WHERE @titel IN (SELECT titel FROM Song)) = 0)
BEGIN
INSERT INTO Song (songid, artiestid, titel, jaar) VALUES (@songTeller, @artiestTeller, @titel, @jaar);
END
IF((SELECT COUNT(*) FROM Lijst WHERE DATEPART(YEAR, @eindzenddatum) IN (SELECT top2000jaar FROM Lijst)) = 0)
BEGIN
INSERT INTO Lijst (songid, top2000jaar, positie, uitzenddatum, van, tot)VALUES (@songteller, DATEPART(YEAR, @eindzenddatum), @positie, @eindzenddatum, @van, @tot);
END
GO