I got a call from some developers on my old team. The customer was having a problem with the
applications. The
devs traced it back to some home grown locking code. They were confused about some Pro*C code that executed what looked to be an
EXEC SQL AT followed by a table name.
Luckily I had traced through this very code about a year and a half ago. In fact, I blogged about it on my Oracle Development Blog. We did not need to consult my blog. I remembered enough about it to explain it to the boys.
This is a construct in Pro*C to execute a
SQL statement under a different database connection (session). One usage of this is to do some
SQL and commit the changes without affecting any of the ongoing
SQL in your current session. That might be needed for some logging, or in the case of my old
dev team, if you want to do your own locking.
Previously I had thought that the lack of such knowledge could be fixed by some training. But one of the
devs on my old team had gone through Pro*C study and training. When I explained what the
SQL did, he seemed to recall a bit of it. I guess training might help you out sometimes. However there is nothing more valuable than hands-on experience.