MSSQL és MYSQL procedúrák
Egy kis példán keresztül szeretném bemutatni az MSSQL és MYSQL tárolt eljárások közötti különbséget.
A kód egy weboldalon menti el a látogatók adatait, de ugyan arról az IP címről érkező látogatót csak 1x ment el 24 órán belül.
MSSQL
CREATE PROCEDURE NewVisitor (@UserIP varchar (15), @UserCountry varchar (255), @UserBrowser varchar (255))
AS
BEGIN
DECLARE @N INT;
SELECT @N = COUNT(*) FROM Visitor WHERE Date > DATEADD(DAY, -1, GETDATE()) AND
IPAddress = @UserIP
IF @N = 0
BEGIN
INSERT INTO Visitor(IPAddress, Country, Browser) VALUES (@UserIP,@UserCountry,@UserBrowser)
END
END
Mysql
DELIMITER &&
CREATE PROCEDURE NewVisitor (UserIP varchar (15), UserCountry varchar (255),UserBrowser varchar (255))
BEGIN
DECLARE N INTEGER;
SELECT COUNT(*) INTO N FROM Visitors WHERE Date > NOW() - INTERVAL 1 DAY AND
IPAddress = UserIP;
IF N = 0 THEN
INSERT INTO Visitors(IPAddress, Country, Browser) VALUES
(UserIP,UserCountry,UserBrowser);
END IF;
END &&
DELIMITER ;
Facebook Comments