У таблиц table_data1 и table_data2 есть foreign keys по столбцам source_id к таблице table_source.
Как можно посчитать, сколько записей в table_data1 и table_data2 ссылаются на запись в table_source, НЕ ЗНАЯ о существовании table_data1 и table_data2?
Т.е., конечно, можно написать запрос в стиле (select count(*) from table_data1 where source_id=XX) + (select count(*) from table_data2 where source_id=XX), но это должно работать так, что на этапе написания запроса неизвестно, кто ссылается и будет в будущем ссылаться на table_source. Возможно, добавятся новые таблицы или новые ключи. Нужен универсальный запрос.
Существующие средства для этого есть или надо что-то изобретать?
Вы бы еще год с ответом подождали) вопрос давным-давно решился генерацией простого скрипта на лету и выполнением через exec прямо внутри сохраненной процедуры.