powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / А можно-ли динамически сформировать имя колонки?
14 сообщений из 14, страница 1 из 1
А можно-ли динамически сформировать имя колонки?
    #33567877
Петро1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здрасте!

как можно извернуться для сабжа? В процедуре создаётся временная таблица, заранее число полей не известно. Как поступить?

сервер асе 12.........

Спасибо
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33567899
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Создаем таблицу с одной колонкой
create table #tmp(
id numeric(10);
)

--затем добавляем остальные
execute ('alter table #tmp add column ...')
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33568127
Петро1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry.execute ('alter table #tmp add column ...')

так можно? йоохооо! СЕНКС!
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33568455
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так можно , но ненужно. Таблиц с переменным количеством колонок не бывает, это вы с Экселем путаете. Надо просто по-другому все делать.
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33568690
Петро1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivТак можно , но ненужно. Таблиц с переменным количеством колонок не бывает, это вы с Экселем путаете. Надо просто по-другому все делать.

ок. тогда вот в кратце моя ситуация подскажите как ещё можно сделать
есть виды деятельности. их соответственно можно добавлять/удалять.
есть проводки денег связанные с каким либо видом деятельности
соотвественно надо строить отчёт по движениям. отчёт состоит из колонок виды деятельности, помимо всего прочего. тоесть захаркодить определёнрое колличество столбцов не представляется вохможным. завтра введут новый вид деятельности. и всё.
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33568830
Петро1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по ходу дела сообщаю о следующей ситуации
exec(@str) выполняться-то выполняется но в контексте процедуры заметных изменений нету. @@sqlstatus равен 0 а колонок нету :(

код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
declare @numberITB int,
            @sqlCommand varchar( 255 )

    create table #columnsTbl(
        cmp_name varchar( 8 ))

    select @numberITB = count(*) from itemBudget where bgd_id = convert(numeric, @bgd_id)
    if(@numberITB =  0 ) return

    while(@numberITB >  0 ) begin
        select @sqlCommand = 'alter table #columnsTbl add field' + convert(varchar( 8 ), @numberITB) + ' varchar(32) null'
        exec(@sqlCommand)
        select @sqlCommand = convert(varchar( 255 ), @@error)
        print @sqlCommand
        select @numberITB = @numberITB -  1 
    end

    select * from #columnsTbl
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33568866
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Петро1 MasterZivТак можно , но ненужно. Таблиц с переменным количеством колонок не бывает, это вы с Экселем путаете. Надо просто по-другому все делать.

ок. тогда вот в кратце моя ситуация подскажите как ещё можно сделать
есть виды деятельности. их соответственно можно добавлять/удалять.
есть проводки денег связанные с каким либо видом деятельности
соотвественно надо строить отчёт по движениям. отчёт состоит из колонок виды деятельности, помимо всего прочего. тоесть захаркодить определёнрое колличество столбцов не представляется вохможным. завтра введут новый вид деятельности. и всё.
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33568888
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Желательно не колонками мыслить а строчками с колонкой "тип вида деятельности" (если все остальное тоже самое), а для spreadsheet вывода
слепить view с pivoting-ом (разворотом)
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33569271
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Петро1 MasterZivТак можно , но ненужно. Таблиц с переменным количеством колонок не бывает, это вы с Экселем путаете. Надо просто по-другому все делать.

ок. тогда вот в кратце моя ситуация подскажите как ещё можно сделать
есть виды деятельности. их соответственно можно добавлять/удалять.
есть проводки денег связанные с каким либо видом деятельности
соотвественно надо строить отчёт по движениям. отчёт состоит из колонок виды деятельности, помимо всего прочего. тоесть захаркодить определёнрое колличество столбцов не представляется вохможным. завтра введут новый вид деятельности. и всё.

Таблица:

| кодДвижения | кодВидаДеятельности | кодПроводки | ... | суммаПроводки |
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33569273
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zhora а для spreadsheet вывода
слепить view с pivoting-ом (разворотом)

Нет, нет, пусть это делает КЛИЕНТ. Средств -- дофига. Отчетники, Эксель.
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33569297
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, не знаю. Сам делал и так (views с sum(case)) и так (группы в Crystal c sum ), на сlient-е медленно,хотя сейчас там(в CRW)вроде можно указать и на сервере БД.
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33569963
Петро1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivТаблица:
| кодДвижения | кодВидаДеятельности | кодПроводки | ... | суммаПроводки |

хм. а разве удобно? ведь потом надо будет разварачивать её на клиенте.
всё конечно зависит от конкретной ситуации, но в общем случае мне кажеться что проще получить подготовленные данные и просто вывести в грид. останется только столбцы переименовать. или я не прав?

или подразумевается что потом наложить на таблицу view с pivoting-ом, да? (я просто не сталкивался с view с pivoting-ом)
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33570053
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Утверждение о том что пусть это все делает клиент конечно правильные, но бывают разные ситуации. например клиент уже написан (intranet) а отчеты генерятся из процедур и резалтсет процедуры - есть отчет.
не переписывать - же клиента!

Возможно , если ситуация подобная, то можно посоветовать поставить разумное ограничение (например max 40 колонок), и делать #tmp таблицу нормальным образом. а селект делать только нужных колонок.
...
Рейтинг: 0 / 0
А можно-ли динамически сформировать имя колонки?
    #33570662
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм. а разве удобно?

Да, если ты пишешь на SQL, а не Exel.

ведь потом надо будет разварачивать её на клиенте.

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


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