Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> автоматически редактировать select'ный запрос SQL 
:(
    Опции темы
leniviy
  Дата 31.12.2003, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



MSSQL 2000
результатом запроса всегда является rowset , а источниками могут быть таблицы, вьюхи (причем, из разных баз данных), а также подзапросы. Вся схема сервера хранится в метабазе; физические имена объектов и полей могут меняться.
Нужен такой формат хранения запроса и алгоритм обращения с ним, чтобы прога-просмотрщик данных могла на автомате составлять текст запроса, добавлять фильтры, группировать и брать аггрегирующие функции, добавлять и удалять из запроса ненужные элементы.

спрашивается, зачем все это надо? Требования безопасности. Например, надо для конкретного пользователя сделать доступными только некоторые записи из таблицы "T1", а изначально аользователь пра вообще не имеет. тогда придется вместо того, чтоб давать на эту таблицу права, создать вьюху с уникальным именем, например, "V@453635usr33453" в которую попадут только отфильтрованные записи, потом вместо исходного запроса передать программе-клиенту запрос
Код
select [email protected] as field344, [email protected] as field 331 from V@453635usr33453
Вполне возможно, что понадобится сосчитать количество записей или применить фильтр или объединить этот запрос с другим. Если изначально работать с текстом, то придется писать или искать транслятор SQL, который в итоге приведет запрос к удобной, для редактирования форме. Я не знаю, существуют ли такие форматы, потому что во всех исходниках программ, которые я видел, анализ SQL на очень примитивном уровне: берется строка, ищется ключевое слово, отрезается/добавляется; если где нужный пробел или скобочка не стоит, получается глюк.
Уверен, такая штука была бы полезна многим программистам. Может, я один о ней не знаю.
З. Ы. Если хватило терпения дочитать, прими поздравление с Новым Годом
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0738 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.