powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Цикл по полям вьюшки
9 сообщений из 9, страница 1 из 1
Цикл по полям вьюшки
    #33900389
Фотография sasha27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Стоит ASA 8.0.2
Есть таблица в базе, есть вьюшка, есть функция.
Как сделать в функции цикл по полям вьюшки?
...
Рейтинг: 0 / 0
Цикл по полям вьюшки
    #33900459
Фотография sasha27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha27Всем привет. Стоит ASA 8.0.2
Есть таблица в базе, есть вьюшка, есть функция.
Как сделать в функции цикл по полям вьюшки?


Все нашел... Вопрос закрыт...
...
Рейтинг: 0 / 0
Цикл по полям вьюшки
    #33900596
Фотография sasha27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Назрел сразу еще вопрос...
Со статическими объектами все ясно, из клиентской части тоже ясно...
А как сделать в процедуре или функции ASA, цикл по полям селекта...
Написал например в процедуре какой-нить селект и надо пробежаться по его полям, а не по строкам...
ASA 8.0.2
...
Рейтинг: 0 / 0
Цикл по полям вьюшки
    #33900944
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha27Назрел сразу еще вопрос...
Со статическими объектами все ясно, из клиентской части тоже ясно...
А как сделать в процедуре или функции ASA, цикл по полям селекта...
Написал например в процедуре какой-нить селект и надо пробежаться по его полям, а не по строкам...
ASA 8.0.2
А можно спросить, зачем такой изврат ? Любое клиентское приложение спокойно увидит и пройдется по списку всех полей любого запроса. Для ХП такое бывает нужно ... ну очень в редких случаях и 100% это нельзя использовать в рунтайме на реально работающих БД. Поэтому обьясните, зачем это нужно, а я тогда подскажу, как это можно легко и красиво сделать ... если конечно это не будет рассказом о новом велосипеде, который сам строит клиентские мордочки - здесь мой вариант абсолютно не подойдет ;)
...
Рейтинг: 0 / 0
Цикл по полям вьюшки
    #33901883
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha27Назрел сразу еще вопрос...
Со статическими объектами все ясно, из клиентской части тоже ясно...
А как сделать в процедуре или функции ASA, цикл по полям селекта...
Написал например в процедуре какой-нить селект и надо пробежаться по его полям, а не по строкам...
ASA 8.0.2
Ну так загони данный селект во временную локальную таблицу и гоняй сколько хочешь, только зачем такой изврат???
...
Рейтинг: 0 / 0
Цикл по полям вьюшки
    #33913388
Фотография sasha27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSА можно спросить, зачем такой изврат ? Любое клиентское приложение спокойно увидит и пройдется по списку всех полей любого запроса. Для ХП такое бывает нужно ... ну очень в редких случаях и 100% это нельзя использовать в рунтайме на реально работающих БД. Поэтому обьясните, зачем это нужно, а я тогда подскажу, как это можно легко и красиво сделать ... если конечно это не будет рассказом о новом велосипеде, который сам строит клиентские мордочки - здесь мой вариант абсолютно не подойдет ;)

Идея была такова.
В базе есть таблица в которой хранятся строки с кодами печати на термопринтере. Таблица имеет следующий вид:
-------------------------------------------------------------------
* ID * NOM_LABEL * COD_LABEL * FIELD * TXT *
-------------------------------------------------------------------
ID - id строки(автоинкремент)
NOM_LABEL - номер этикетки
COD_LABEL - код для термопринтера
FIELD - поле для подстановки значений
TXT - текстовое значение, для подстановки в строку...

В базе хотел сделать процедурину в которую передавал бы номер этикетки и значение для вьюшки, а она мне возвращала строки этикетки с подставленными значениями в строках. Если запустить вьюшку, то по полям вьюшки, собранным в курсоре из sys.syscolumns, уже не удается бегать, выдается ошибка. Вот примерно такая приблуда...
Сейчас сделал статически. В процедуре вынимаю имя поля из таблицы с кодами печати через IF и подставляю значение из такого же поля вьюшки.
При добавлении нового поля во вьюху, добавляю новый IF в процедуру формирования этикетки. Проблем с этим нет, но хотелось сделать красивее и динамичней...
...
Рейтинг: 0 / 0
Цикл по полям вьюшки
    #33913982
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я честно говоря ничего совершенно не понял, но могу сказать уверенно ... это абсолютно неправильно, что Вы делаете. Не нужно в РСУБД искать по именам полей чего то и подставлять куда то. Структура таблиц должна быть фиксированна, поля одни и те же, все должно храниться в виде записей, где идут расширения один ко многим нужно нормализовать путем разбивки на таблицы и установку связей FK между ними.

Приведите код создания таблиц и представлений, задействованных для данной задачи и еще раз более внятно сформулируйте что должно делаться и почему Вы пытаетесь использовать поля, вместо того, чтобы нормализовать структуру БД.
--
www.rusug.ru - портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Цикл по полям вьюшки
    #34144701
wcat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое простое применение этого можно найти в необходимости "перевернуть" возвращаемый курсор.
Т.е. если Вам возвращается одна запись на 10 полей, а надо "перевернуть" это на 10 записей, в каждой из которых два поля: имя поля и его значение.
...
Рейтинг: 0 / 0
Цикл по полям вьюшки
    #34145325
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты бы еще задал бы вопрос в С++ про цикл по полям класса ....
Проблема той же актуальности и той же бредовости...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Цикл по полям вьюшки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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