title: Postgresql trigger function with parameters
body: <p>I want to create a trigger on a table called <strong>takes</strong> in postgresql to update a value in another table called <strong>student</strong>
  I'm trying to do it in the following way. But I'm getting an error that there is syntax error near "OLD". I don't understand whats wrong with this. This is my code:</p>
  
  <pre><code>CREATE OR REPLACE FUNCTION upd8_cred_func
        (id1 VARCHAR, gr1 VARCHAR,id2 VARCHAR, gr2 VARCHAR) 
        RETURNS void AS $$
   BEGIN
      IF  (id1=id2 and gr1 is null and gr2 is not null) THEN 
          update student set tot_cred = tot_cred + 6 where id = id1;
      END IF;
      RETURN;
   END;
  $$ LANGUAGE plpgsql;
  
  CREATE TRIGGER upd8_cred
      AFTER UPDATE ON takes
      FOR EACH ROW
      EXECUTE PROCEDURE upd8_cred_func(OLD.id,OLD.grade,NEW.id,NEW.grade);
  </code></pre>