1. What is the value of the NEW variable for a column that is not mentioned
in an UPDATE statement?  Is it NULL?  If not NULL, what?

For example, given this table:

       my_tbl (id integer, att1 varchar, att2 varchar)

and a row-wise ON UPDATE OR INSERT trigger function containing this
conditional:

       IF NEW.att2 IS NULL THEN
        <do stuff>
       END IF;
       
and this UPDATE query:

        UPDATE my_tbl SET att1 = 'foo' where id = 1;

will that conditional be satisfied?

2. Same questions re the value of a NEW variable that is not assigned a
value in an INSERT statement.  

For example, how would the previous conditional behave in response to:

        INSERT INTO my_tbl (id) VALUES (1);

?

3. If an UPDATE query set a column to DEFAULT, what value does a trigger
function see for the column's NEW variable?  Is it the string 'DEFAULT', a
reserved word DEFAULT, an empty string, or what?

For example, what would you put in place of <??> in this UPDATE trigger
function:

       IF NEW.att2 <??> THEN
        <do stuff>
       END IF;

to get it to <do stuff> in response to this UPDATE query:

        UPDATE my_tbl SET att2 = DEFAULT where id = 1;

?

~ TIA
~ Ken



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to