На самом деле, версии стандарта C ++ до того, как C ++ 11 определили ключевое слово «export», [] , можно просто объявить шаблоны в файле заголовка и реализовать их в другом месте.
К сожалению, ни один из популярных компиляторов не реализовал это ключевое слово. Единственный, о котором я знаю, - это интерфейс, написанный Edison Design Group, который используется компилятором Comeau C ++. Все остальные настаивали на том, что вы пишете шаблоны в заголовочных файлах, нуждающихся в определении кода для надлежащего создания экземпляра (как уже указывали другие).
В результате стандартная комиссия ISO C ++ решила удалить export
особенность шаблонов, начинающихся с C ++ 11.
Вы генерируете следующий запрос:
SELECT 'TransactionID'
,'RecordID'
,'AccountID'
-- more column names
UNION ALL
SELECT * FROM temp_transactionslines
order by TransactionID ASC
Предложение ORDER BY применяется ко всему набору UNION. Если вы хотите отсортировать только второй результат запроса, вам следует заключить его в скобки:
SELECT 'TransactionID'
,'RecordID'
,'AccountID'
-- more column names
UNION ALL
(SELECT * FROM temp_transactionslines order by TransactionID ASC)
Демонстрация: https://www.db-fiddle.com/f/fSXBH527fxg9hXy1JYGHyQ/0