Dear list, i am looking for a way to check, whether an DML-statement can be performed on a current database. That means, that i want to check, if e.g. an INSERT is possible or not (due to existing constraints), without executing it. Any ideas? Hagen
Hagen Hoepfner wrote: > i am looking for a way to check, whether an DML-statement can be > performed on a current database. That means, that i want to check, if > e.g. an INSERT is possible or not (due to existing constraints), without > executing it. I think this could be the easiest way: try it and rollback. BEGIN; SET CONSTRAINTS ALL IMMEDIATE; -- if you have deferred foreign key, e.g. INSERT .... -- check if it works ROLLBACK; That should do what you want, IMHO. In PostgreSQL 8.0 you would not need your own transaction here... BEGIN; -- do some work SAVEPOINT check_dml; INSERT ... -- check if it works ROLLBACK TO check_dml; -- do some more work COMMIT; Could this be what you want? Best Regards, Michael Paesold
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера