Это можно сделать полностью внутри базы данных и не нужно проходить через внешнее приложение.
От пользователя (ей) с соответствующими разрешениями на предоставление разрешений для A
, B
и C
:
GRANT SELECT ON A.T TO X;
GRANT SELECT ON B.T TO X;
GRANT SELECT ON C.T TO X;
От пользователя X
:
INSERT INTO X.T
SELECT * FROM A.T;
INSERT INTO X.T
SELECT * FROM B.T;
INSERT INTO X.T
SELECT * FROM C.T;
Или как одно утверждение:
INSERT INTO X.T
SELECT * FROM A.T UNION ALL
SELECT * FROM B.T UNION ALL
SELECT * FROM C.T;
От этого первого пользователя (ей) с соответствующими разрешениями:
REVOKE SELECT ON A.T FROM X;
REVOKE SELECT ON B.T FROM X;
REVOKE SELECT ON C.T FROM X;