I think there are enough and more articles on DCL and why smart ways to attempt to work around them are still broken :-)
Post 1.5, there are a couple of very careful ways to avoid it - but it makes the code fragile :  best not to attempt it.