Click to See Complete Forum and Search --> : Editing the delimiter inside a .sql script


DJRobThaMan
11-12-2009, 04:22 PM
Hi,

I've tried to add a trigger using the following inside a .sql script


delimiter //

create trigger editSniffer
after insert on shelfData
for each row
begin
declare publishedint integer;
select published into publishedint from versionData where pvid = new.pvid;

if publishedint >= 1 then
insert into edits(editid, pvid, category, original, `new`) values(null, new.pvid, 'shelf', new.sid);
end if;
end//


Funnily enough, I can execute the same code (minus the delimiter statement) if I use phpMyAdmin and set the delimiter using their text box below the sql input area.

Does anyone know how to add this trigger (or any multi statement of that type) via a .sql script?

DJRobThaMan
11-12-2009, 04:46 PM
Figured it out. The main problem was that the delimiter statement must be capitalized. Weird huh?

Here's what I've ended up implementing:


drop trigger if exists editSniffer;
DELIMITER //
create trigger editSniffer after insert on shelfData
for each row begin
declare publishedint integer;
select published into publishedint from versionData where pvid = new.pvid;

if publishedint >= 1 then
insert into edits(editid, pvid, category, original, `new`) values(null, new.pvid, 'shelf', new.sid);
end if;
end
//
DELIMITER ;