All pastes #957882 Raw Edit

sqljojojoj

public sql v1 · immutable
#957882 ·published 2008-03-26 08:22 UTC
rendered paste body
DROP PROCEDURE IF EXISTS ingresar;DELIMITER //CREATE PROCEDURE ingresar (IN inick CHAR(16), IN imsg VARCHAR(255), IN iservidor VARCHAR(70), IN icanal CHAR(20), IN idia DATE, IN ihora TIME, IN iyo BOOL, IN itopic BOOL, IN iaway BOOL)LANGUAGE SQLBEGIN        DECLARE myid_nick INT default NULL;    DECLARE myid_dia INT default NULL;    DECLARE myid_servidor INT default NULL;    DECLARE myid_canal INT default NULL;    DECLARE myid_servidorcanal INT default NULL;    SELECT myid_nick=id_nick FROM Nicks WHERE nick = inick;    IF myid_nick = NULL THEN        INSERT INTO Nicks SET nick = inick;        SELECT myid_nick=LAST_INSERT_ID();    END IF;    SELECT myid_dia=id_dia FROM Dias WHERE dia = idia;    IF myid_dia = NULL THEN        INSERT INTO Dias SET dia = idia;        SELECT myid_dia=LAST_INSERT_ID();    END IF;    SELECT myid_servidor=id_servidor FROM Servidores WHERE servidor = iservidor;    IF myid_servidor = NULL THEN        INSERT INTO Servidores SET servidor = iservidor;        SELECT myid_servidor=LAST_INSERT_ID();    END IF;    SELECT myid_canal=id_canal FROM Canales WHERE canal = icanal;    IF myid_canal = NULL THEN        INSERT INTO Canales SET canal = icanal;        SELECT myid_canal=LAST_INSERT_ID();    END IF;    SELECT myid_servidorcanal=id_servidorcanal FROM ServidorCanal WHERE id_servidor = myid_servidor AND id_canal = myid_canal;    IF myid_servidorcanal = NULL THEN        INSERT INTO ServidorCanal SET id_servidor = myid_servidor, id_canal = myid_canal;        SELECT myid_servidorcanal=LAST_INSERT_ID();    END IF;    INSERT INTO Mensajes SET id_servidorcanal = myid_servidorcanal, id_dia = myid_dia, id_nick = myid_nick, msg = imsg, hora = ihora, yo = iyo, topic = itopic, away = iaway;    /*INSERT INTO Mensajes (id_servidorcanal, id_dia, id_nick, msg, hora, yo, topic, away) VALUES (myid_servidorcanal, myid_dia, myid_nick, imsg, ihora, iyo, itopic, iaway);*/END; //DELIMITER ;