Есть ли способ проверить, использует ли запись значение по умолчанию для определенных столбцов? - PullRequest
0 голосов
/ 02 марта 2020

Предположим, у меня есть таблица с атрибутом, скажем, "Тип" со значением по умолчанию "А". Я хочу выбрать таблицы, которые используют это значение по умолчанию «A». Очевидный ответ: c,

select *
from table 
where Type='A';

Но я хотел посмотреть, есть ли более эффективный способ сделать это. Может быть, использовать ограничение «DEFAULT»?

1 Ответ

0 голосов
/ 04 марта 2020

Это не ответ, но я думаю, что это довольно интересно, и я вижу, что если это WHERE Type IS DEFAULT существует, это что-то полезное.

Что-то динамическое; без необходимости явно определять значение по умолчанию в WHERE условии.

Я разрабатываю комментарий Павла о запросе information_schema, и запрос может выглядеть примерно так:

SELECT * FROM example1 A INNER JOIN 
        (SELECT column_default 
         FROM information_schema.columns 
         WHERE table_schema='test' 
         AND table_name='example1') B
ON A.Val=B.column_default;

Это длиннее, и вместо явного определения значения по умолчанию у меня было определить table_schema и table_name; которые оказываются далеко не динамичными c. Я также подготовил скрипку https://www.db-fiddle.com/f/8idH1J7PnyvRwU8tQhyzMb/0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...