|
добавление полей таблицы в цикле
|
|||
---|---|---|---|
#18+
Помогите плиз новичку! Задача следующая. У меня есть таблица в одном из полей которой есть определенные элементы. Но я не знаю заранее сколько их будет. И мне нужно ко второй таблице добавить столько полей, сколько было элементов в поле из первой таблицы. (названия полей не так важны). Писал примерно следующее: DECLARE T1 text; i int; row_number int := (select max(id) from buyers); BEGIN For i IN 1 .. row_number LOOP T1 = (SELECT CAST(i AS text)); ALTER TABLE alala ADD T1 int; -- тут он не понимает, что Т1 переменная и добавляет поле с именем Т1 END LOOP; END; В итоге код крашится на второй итерации, когда добавляет второе поле с тем же именем Т1 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 22:31 |
|
добавление полей таблицы в цикле
|
|||
---|---|---|---|
#18+
darasi, навернр так execute 'ALTER TABLE alala ADD ' || t1 || ' int'; ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 23:48 |
|
добавление полей таблицы в цикле
|
|||
---|---|---|---|
#18+
darasi, авторИ мне нужно ко второй таблице добавить столько полей, сколько было элементов в поле из первой таблицы. Может все же два поля - данные и вторичный ключ? А то мне еще бабушка говорила, что переменная структура базы дает большую головную боль... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 17:04 |
|
добавление полей таблицы в цикле
|
|||
---|---|---|---|
#18+
darasi, Может стоит использовать JSONB и голову не забивать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 20:07 |
|
добавление полей таблицы в цикле
|
|||
---|---|---|---|
#18+
Troglodit, Уже решил вопрос банальной перезаписью в один и тот же столбец и вычленением нужных данных) Но про JSONB почитаю, спасибо!! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 20:28 |
|
|
start [/forum/topic.php?fid=53&tid=1994877]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 278ms |
total: | 406ms |
0 / 0 |