"Fabiano Sidler"
<[EMAIL PROTECTED]> wrote in
message news:[EMAIL PROTECTED]
> Igor Tandetnik schrieb:
>> You don't have a single row in dbapp view that has fields='surname'.
>> The only record you have is one where fields='name,surname'. So no
>> row matches condition, and thus no row gets deleted. Your trigger
>> never even runs.
>
> That's weird. So Sqlite first does read from the view before actually
> perform a DELETE?

Of course. You seem to expect it to infer trigger parameters from the 
WHERE clause, but that is, in general, impossible. The WHERE clause 
could be arbitrarily complex (e.g. containing subselects or performing 
calculations on view fields). E.g.

delete from dbapp where
tablename||','||fields = 'employees,surname';

Or it may not have a WHERE clause at all:  delete from dbapp;

How would you expect this to work?

> And how could I then implement what I wanted my view
> to do?

As far as I see, you can't. I guess it's back to the drawing board.

Igor Tandetnik



_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to