SQL для сброса ряда столбцов по умолчанию - PullRequest
0 голосов
/ 14 июля 2011

Я хочу написать SQL, который сбрасывает все столбцы в таблице обратно по умолчанию, за исключением пары столбцов, таких как первичный ключ.

Я просто хочу назвать столбцы НЕ для обновления и сбросить все остальное. В таблице довольно много столбцов, и я не хочу писать:

update my_table set column1 = DEFAULT, column2 = DEFAULT,  ... where  ...

для всех столбцов, поскольку их довольно много.

Есть идеи? Я использую Oracle

1 Ответ

0 голосов
/ 30 апреля 2012

Я не думаю, что есть процедура, которая делает то, что вы хотите, но если вашей единственной проблемой является тяжелое бремя написания SQL, вы можете автоматизировать это с помощью представления ALL_TAB_COLUMNS.Вы можете улучшить идею для ваших нужд:

select 
    'update ' || TABLE_NAME ||
  'set ' ||
    COLUMN_NAME || ' = DEFAULT'
from ALL_TAB_COLUMNS
where 
    table_name = <YOUR_TABLE>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...