Hi,

What is the exact error message?


Here's the latest query:

delimiter //
create trigger jobposts_control
 before delete on jobposts for each row
begin
   declare dummy varchar(255);
   set @counted = (
       select count(ad.adsource_id)
       from adsource ad, jobposts jp
       where ad.adsource_id = jp.adsource_id
       and old.jobpost_id = jp.jobpost_id
   );
if @counted >= 1 then SET dummy = "Cannot delete this record"; end if;
end //
delimiter ;

Here's the error message:

ERROR: Unknown column 'old.jobpost_id' in 'where clause'

Works fine here (although with different tables).

Just for fun and giggles, have you tried OLD. (uppercase?)


Okay . . . I tried OLD.

delimiter //
create trigger jobposts_control
 before delete on jobposts for each row
begin
   declare dummy varchar(255);
   set @counted = (
       select count(ad.adsource_id)
       from adsource ad, jobposts jp
       where ad.adsource_id = jp.adsource_id
       and OLD.jobpost_id = jp.jobpost_id
   );
   if @counted >= 1 then SET dummy = 'Cannot delete this record'; end if;
end //
delimiter;

Try:

end; //
delimiter ;



I just wrote the trigger source in the Trigger Editor in Database Workbench
and it doesn't bother about delimiters and such...

It also has no ";" after the final END, but hey, who knows ;-)

With regards,

Martijn Tonies
Upscene Productions
http://www.upscene.com

Download Database Workbench for Oracle, MS SQL Server, Sybase SQL
Anywhere, MySQL, InterBase, NexusDB and Firebird!

Database questions? Check the forum:
http://www.databasedevelopmentforum.com

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to