У меня есть таблица с именем «preference», которая включает более 100 столбцов в Oracle, я написал немного сложный SQL, для которого нужно использовать ключевое слово UNION / INTERSECT / MINUS для выполнения запроса.Возьмем простой пример:
select a.* from preference a where a.id = ? union
select a.* from preference a where a.id = ?
Бизнес-услуги были изменены из-за хранения строки по запросу неограниченной длины.один столбец необходимо переопределить для типа Clob.Oracle не разрешает объединение для типа clob, поэтому в идеале здесь нельзя использовать a. *.
Я изменил SQL следующим образом:
select a.a,a.b,a.c... from preference a where a.id = ? union
select a.a,a.b,a.c... from preference a where a.id = ?
В нем перечислены все столбцы, кроме clobа затем я должен сделать еще один выбор, чтобы добавить значение Clob вместе.Это хорошая идея?
Другая проблема, возникшая из приведенного выше случая, заключается в том, что: как я уже упоминал, эта таблица имеет большие столбцы, список всех столбцов в sql делает SQL намного длиннее.Есть ли выражение, которое я могу выбрать все столбцы, но избавиться от конкретного?