Another way of putting it is that $dbh->{AutoCommit} = 0; and $dbh->begin_work; are two ways of starting a transaction.
I suspect the failure is happening because you are calling begin_work after you have created a statement handle with $dbh->prepare.
No, the error occurs because transactions aren't nestable, at least not in DBI.
In reply to Re^2: DBD Sybase Transaction begin_work fails
by ikegami
in thread DBD Sybase Transaction begin_work fails
by vcoderv
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |