#sql #relational-database #db2-luw
#sql #реляционная база данных #db2-luw
Вопрос:
У меня есть 2 таблицы.
UI_COMPONENT
UI_ID LABEL_ID UI_Name
01 Label1 Custom_Name
02 Label2 Random_text
03 Label3 Dummy_Label
Это означает, что на странице html будет 3 текстовых поля, которые будут иметь такие метки, как Custom_Name, Random_text и Dummy_Label.
Пример:
Custom_Name: ___________________
Random_text: ___________________
Dummy_Label: ___________________
И все, что мы заполняем в этих текстовых полях, сохраняется в другой таблице:
UI_COMPONENT_VALUES:
ID Label1 Label2 Label3
111 John Doe Millers
222 David Gabriel
Администратор имеет доступ к переименованию ярлыков UI_COMPONENT.
Мне нужно создать представление, в котором я могу отображать значения из UI_COMPONENT_VALUES с динамическими заголовками.
или, по крайней мере, можете ли вы помочь мне с SQL-запросом, который извлекает данные указанным ниже способом?
Ожидаемый результат:
UI_COMPONENT_VALUES_VIEW:
ID Custom_Name Random_text Dummy_Label
111 John Doe Millers
222 David Gabriel
Комментарии:
1. Для этого вам нужен динамический SQL (я думаю).
2. К сожалению, имена столбцов представления являются частью DDL, что означает, что для его изменения вам необходимо выполнить инструкцию DDL. Второй подход, уже упомянутый @TimBiegeleisen, заключается в динамической генерации скрипта. Но это означает, что вы не можете сделать это через view, это должна быть хранимая процедура.
3. Как уже упоминалось, хранимый процесс, вероятно, лучший способ сделать то, что вы хотите, но имейте в виду, что каждый отдельный оператор, с которым сталкивается база данных, будет скомпилирован, и это иногда может занять больше времени, чем выполнение оператора.