Я пытаюсь создать хранимая процедура, которая будет обновлять определенное расположение столбцов и столбцов на основе ввода пользователем. Моя таблица имеет приблизительно 100 столбцов, использующих имена в прогрессивных приращениях. Ex Page1, Page2, Page3, стр. 4 .... и т. Д. Данные также должны обновляться с постепенным шагом, так как пользователи заканчивают разные версии каждой страницы.SQL-обновление строк без знания имени столбца
Когда процедура называется, мне нужно, чтобы она находила строку пользователя (страница является ключевым и уникальным) и помещала информацию в том месте, где их версия файла сохраняется в первом столбце NULL. Я видел разговоры об использовании курсоров для аналогичных приложений, но я не уверен, что это правильное решение.
----------------------------------------------------
| Page1 | Page2 | Page3 | Page4 |
----------------------------------------------------
| /pg1.htm | /pg2.htm | /pg3.htm | NULL |
----------------------------------------------------
| /pg1.doc | /pg2.doc | NULL | NULL |
----------------------------------------------------
| /pg1.pdf | NULL | NULL | NULL |
----------------------------------------------------
Мне нужна процедура для последовательного обновления строки каждый раз с помощью одной части данных при ее вызове. Моя проблема заключается в том, чтобы сделать это масштабируемым, а не ограничивать его 100 + IF заявлениями.
псевдо код, который я состряпал выглядит так, но это очень неэффективно:
FIND ROW that matches unique key
LOOP Find_NULL
IF Column2 == NULL
UPDATE DATA HERE
ELSE IF Column3 == NULL
UPDATE DATA HERE
ELSE IF Column4 == NULL
UPDATE DATA HERE
ELSE IF.... and on and on
END LOOP Find_NULL
Я с использованием MySQL, которые я сказал не поддерживает динамический SQL. Я попытался создать переменную и изменить ее, когда я прошел через данные, чтобы сохранить следующий столбец NULL, но это не сработало.
Если у кого есть какие-либо решения или рекомендации, я был бы признателен.
Заранее спасибо.
Большое спасибо за информацию Рэнди. Я согласен с тем, что мой дизайн, вероятно, неверен. Все, чему я научился, самообучалось из книги, Интернета и экспериментов. Пора вернуться на чертежные доски на этом. – user2615851