"Dharmendra Goyal" <dharmendra(dot)goyal(at)gmail(dot)com> writes:
> I created one function which updates a table using updatable cursor. I wrote
> one trigger also on the same table. When i execute the function it gives
> expected results. But after that all DMLs fail.
The problem is that your trigger function recursively invokes itself.
If you used an unbound cursor variable (so that the portal name gets
selected dynamically) you could avoid the conflict of cursor name
between inner and outer executions, but you'd still need to do something
about avoiding infinite recursion. Also, closing a cursor when done
with it would be a real good idea.
regards, tom lane