Как правило, системы управления базами данных SQL не допускают выражения в DDL.Системы, которые поддерживают представления information_schema, не позволят вам использовать скалярный подзапрос, чтобы вернуть цель для ссылки на внешний ключ.Это синтаксическая ошибка во всех базах SQL, которые я использую изо дня в день.
create table test (
article_id integer primary key
references articles (select column_name
from information_schema.columns
where table_name = 'articles'
and is_nullable = 'NO')
);
Какую реальную проблему вам нужно решить, пытаясь это сделать?