powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / [Sybase IQ] как изменить тип колонки и указать расположение колонок
25 сообщений из 33, страница 1 из 2
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458320
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня собственно говоря 2 вопроса:
1)У меня есть колонка с типом данных decimal (19,2) нужно поменять на (19,4)
2) При добавлении колонки я могу указать место колонки (по умолчанию добавляет в конец таблицы), а я хочу например в середину конкретно после какой то колонки
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458342
kolyady,

для начала - какой из Sybase-серверов у тебя?
далее - если нужен определенный порядок колонок, то таблицу для этого мучить не надо. надо создать по таблице представление с правильным порядком полей.
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458343
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
23.05.2017 17:16, kolyady пишет:

> У меня собственно говоря 2 вопроса:

Сервер-то какой ;)?

> 1)У меня есть колонка с типом данных decimal (19,2) нужно поменять на (19,4)

alter table dba.mycooltable modify mycolumn decimal(19,4) ;

> 2) При добавлении колонки я могу указать место колонки (по умолчанию
> добавляет в конец таблицы), а я хочу например в середину конкретно после
> какой то колонки

Можешь хотеть дальше ;).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458389
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000,
При альтере ошибка
Could not execute statement.

ALTER TABLE MODIFY <column> <datatype> is not supported.
--
(dblib\db_alter.cxx 411)
SQLCODE=-1013024, ODBC 3 State="HY000"
Line 1, column 1

alter table dbo.tb_sc_LiquidatD modify OSTATOK decimal(19,4)

а расположение я так понял никак указать нельзя, или кто то может все таки извращался и получилось, при добавлении или уже после , передвинуть в нужное место

ВАЖНО удалить таблицу и создать заново не вариант, надо именно при добавлении колонки в существующую табл
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458390
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эх,

представление то понятно, вопрос именно как таблицу вымучить до нужного результата
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458405
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
23.05.2017 18:27, kolyady пишет:

> При альтере ошибка

У меня работает. Почему - догадайся сам ;).

> а расположение я так понял никак указать нельзя

Правильно понял. Тем более что порядок полей в таблице не важен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458412
Teck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolyadyУ меня собственно говоря 2 вопроса:
2) При добавлении колонки я могу указать место колонки (по умолчанию добавляет в конец таблицы), а я хочу например в середину конкретно после какой то колонки

А для чего это? В MySql вроде было что-то похожее
Код: sql
1.
[FIRST | AFTER col_name ]

. Где вообще это может понадобиться?
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458567
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000,
Ну хотелось бы услышать решение , а не загадки.
Не работает потому что в принцыпи не работает это мое мнение, если я не прав перепиши скрипт так как чтоб оно работало, строка самого альтера внизу ошибки.
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458573
kolyady,

тебя же первым вопросом спросили - какой именно у тебя Sybase-сервер. Ибо ASA, ASE и IQ - детища совершенно разных разработчиков. Каждая - со своими парадигмами и особенностями синтаксиса SQL. Поэтому вещи, работающие в одной из этих СУБД, совершенно не обязаны работать и в двух других. Кроме того, даже внутри одной "линейки" могут быть отличия от версии к версии.
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458574
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Teck,
И в ms sql, такая возможность есть и по моему в оракле тоже, я новичек в sybes iq, искал как в этой БД это делается, пока к сожелению не нашел :( возможно потому что инфы по данной БД намного меньше чем по остальным). Вот и вынес данную тему на обсуждение возможно ктото нарил таки как такое сделать.

Зачем это нужно, все очень просто есть таблици, есть на них же вьюхи, вьюхи постороены запросом select * from table, добавлю в конец колонку которую они видели всегда в начале, будет кипиш, поменять вьюху вместо звездочки на перечень колонок- это решение, но когда добавятся колонки в таблицу прийдется альтерить вьюху, со звездочкой альтерить не надо.

Короче если у когото есть конкретные решения этих вопросов буду рад их лицезренть, любителей загадок, кроссвордов и шарад прошу проходить мимо данного чата.
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458581
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эх,
Ну теперь то ясно что IQ какие есть идеи?
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458629
kolyadyTeck,
И в ms sql, такая возможность есть и по моему в оракле тожев Oracle точно нет. А в MS SQL Server-е, если посмотреть, что выполняет SSMS в результате "мышечных" перестановок порядка полей в таблице, то легко увидеть, что он делает CREATE TABLE с нужным порядком полей, перезаливает данные из старой таблицы в новую, навешивает на новую таблицу всю обвязку (индексы, триггеры, ограничения целостности, права доступа), после чего старую таблицу удаляет, а новую переименовывает в имя старой. То есть, это, по сути, тот вариант, который ты просил тебе не предлагать...


kolyadyвьюхи постороены запросом select * from table, добавлю в конец колонку которую они видели всегда в начале, будет кипиш.ты это сам придумал или прочитал в документации / проверил на практике? Вообще-то, при создании представления по запросу select *, сервер распарсивает текущий список полей таблицы и в итоговый текст представления подставляет явное перечисление всех полей таблицы, в том порядке, что они есть на данный момент. "*" в этом слечае - не более чем синтаксический "рафинад" для упрощения труда ленивому прогруммисту. Соответственно, добавления поля в таблицу или смена их порядка не произведет на представление никакого эффекта и для учета этих изменений представление всё одно придется переделать...
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458639
kolyadyДобрый Э - Эх,
Ну теперь то ясно что IQ какие есть идеи?
В глаза IQ не видел, но если верить синтаксической диаграмме, то должно быть что-то такое:
alter table <owner.table_name> alter column <column_name> decimal (19,4);
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458705
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyDim2000,
Ну хотелось бы услышать решение , а не загадки.
Не работает потому что в принцыпи не работает это мое мнение, если я не прав перепиши скрипт так как чтоб оно работало, строка самого альтера внизу ошибки.
Ух ты как стало модно вопросы задавать . а я на посторение не попал :)
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458897
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эх,

тож не катит

Could not execute statement.

Syntax error near 'OSTATOK' on line 1
SQLCODE=-131, ODBC 3 State="42000"
Line 1, column 1

alter table dbo.tb_sc_LiquidatD alter column OSTATOK decimal (19,4)
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458906
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Добрый Э - Эх]kolyadyTeck,

kolyadyвьюхи постороены запросом select * from table, добавлю в конец колонку которую они видели всегда в начале, будет кипиш.ты это сам придумал или прочитал в документации / проверил на практике? Вообще-то, при создании представления по запросу select *, сервер распарсивает текущий список полей таблицы и в итоговый текст представления подставляет явное перечисление всех полей таблицы, в том порядке, что они есть на данный момент. "*" в этом слечае - не более чем синтаксический "рафинад" для упрощения труда ленивому прогруммисту. Соответственно, добавления поля в таблицу или смена их порядка не произведет на представление никакого эффекта и для учета этих изменений представление всё одно придется переделать...

По этому поводу возможно у твоей версии БД так и есть но в моей все что ты добавляеш в табл, вьюха тут же отображает ничего при "*" альтерить не надо и отображает так как было добавлено тобиш все новые в конец толкает.
А в данный момент я хочу перевести колонку OSTATOK из decimal (19,2) в decimal (19,4)

В итоге получается следующее:
- просто заальтерить (расширить) колонку я немогу (покрайней мере рабочий механизм никто еще не подсказал);
- значит прийдется создавать новую колонку с правильным типом, апдейтить инфу со старой, дропать старую, ренеймить новую;
- в итоге колонка которая была вначале будет в конце
- и возможно у когото юзеры отнесутся нормально к такому мои же однозначно не

по факту

- нужен механизм (если он существует), чтоб альтериить существующие колонки БЕЗ дроп криэйт
- или на худой конец механизм чтоб переместить колонку в нужное место

Буду рад любым предложениям
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458918
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyTeck,
И в ms sql, такая возможность есть и по моему в оракле тоже, я новичек в sybes iq, искал как в этой БД это делается, пока к сожелению не нашел :( возможно потому что инфы по данной БД намного меньше чем по остальным ).
возможно Вы не пробовали искать
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458955
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolyady,

Думаю новых предложений не будет.
Ибо Документация
The ALTER TABLE statement can change many characteristics of a table—foreign keys can be added or deleted, and so on. However, you cannot use MODIFY to change table or column constraints. Instead, you must DELETE the old constraint and ADD the new one. In all these cases, once you make the change, stored procedures, views, and any other item referring to this column will no longer work.

Т.е. менять через DROP ADD. Думаю колоно-ориентированная архитектура IQ влияет
А представление нужно делать как нужно.
Что за пользователи у Вас, которые относятся к этому ненормально? В чем они работают?
Они к номеру поля что-ли привязываются в выборке? Если так, то это ненормально.
Привязка в источнике данных должна идти к названию поля. Нормальное клиентское приложение умеет каждую колонку привязать к нужному полю по названию, а сами колонки расставить как надо пользователю. Независимо от того как они там в базе созданы
По вашему получается что один раз представление с *, я должен пересоздавать таблицы в него входящие так, чтобы обязательно соблюсти порядок полей, который заложен у пользователя! в его клиентской программе. Это очень "удобно" для разработчика базы
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458987
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,
А вообще про какую субд идет речь, я так в постах и не нашел...
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458994
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pandkolyadyTeck,
И в ms sql, такая возможность есть и по моему в оракле тоже, я новичек в sybes iq, искал как в этой БД это делается, пока к сожелению не нашел :( возможно потому что инфы по данной БД намного меньше чем по остальным ).
возможно Вы не пробовали искать

прекрасный пост, но там нету того что я ищу, ну или я слепой :)
укажите незрячему путь :)
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39458996
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Orlov,
SYBES IQ
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39459023
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,

Если Вы по этой сслыке не видите доку по Sybase IQ , то я Вам ничем уже не помогу.
Если Вы хотите чтобы я за Вас искал ответы на ваши вопросы , то сначала нужно обсудить стоимость работ.
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39459035
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pandkolyady,

Если Вы по этой сслыке не видите доку по Sybase IQ , то я Вам ничем уже не помогу.
Если Вы хотите чтобы я за Вас искал ответы на ваши вопросы , то сначала нужно обсудить стоимость работ.

Данный форум не есть комерческий, хотите заработать предлагайте себя на фрилансерских сайтах.
Искать что то я Вас не прошу, я спрашиваю у людей которые знают как решить данную проблему, кинуть ссылку на доку (не будучи уверенным в том что там есть нужная инфа) не есть помощь , не знаете - не пишите.
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39459116
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,

Модератор с подозрением смотрит на тебя.
...
Рейтинг: 0 / 0
[Sybase IQ] как изменить тип колонки и указать расположение колонок
    #39459347
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

В чем суть подозрений?
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / [Sybase IQ] как изменить тип колонки и указать расположение колонок
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]