Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
Приветствую!
У меня есть хранимая процедура, которая представляет собой простой SELECT-запрос и возвращает набор значений.
Как можно сделать выбор по дополнительным условиям из этого набора значений? Вариант с изменением хранимой процедуры не устраивает.
20 окт 09, 11:45    [7810304]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
XopcT
Вариант с изменением хранимой процедуры не устраивает.
Почему? Нормальный вариант...
20 окт 09, 11:48    [7810340]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Паганель
XopcT
Вариант с изменением хранимой процедуры не устраивает.
Почему? Нормальный вариант...
Я хотел сказать, что "изменением" может быть и преобразование ее в table-valued функцию
20 окт 09, 11:50    [7810367]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
автор
Почему? Нормальный вариант...

Могут быть слишком разнообразные условия отбора. Проще было бы формировать запрос в ран-тайме.
Сформировать целиковый запрос, включающий в себя и текст хранимой процедуры, в рантайме невозможно.
20 окт 09, 11:51    [7810380]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
автор
Я хотел сказать, что "изменением" может быть и преобразование ее в table-valued функцию

Можно немного поподробнее об этом? С мат.частью не сильно дружен.
20 окт 09, 11:53    [7810398]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Create table #orders(Orderid int,..................) --создаем временную таблицу

Insert into #orders EXEC get_orders --вставляем данные

Select* from #orders where orderdate>='19960101' and orderdate<'19970101' --ну и работаем с ними
20 окт 09, 11:55    [7810431]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
То есть, просто создаётся временная таблица, в которую выгружаются результаты выполнения процедуры? Потом выполнять запросы к этой таблице?
Сразу возникает вопрос, можно ли подружить замаппленные сущности хибернейта с временными таблицами?
20 окт 09, 11:59    [7810465]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
XopcT
То есть, просто создаётся временная таблица, в которую выгружаются результаты выполнения процедуры? Потом выполнять запросы к этой таблице?
Сразу возникает вопрос, можно ли подружить замаппленные сущности хибернейта с временными таблицами?

задайтесь для начала вопросом, а в чем отличие временных и не временных таблиц?
20 окт 09, 12:03    [7810484]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
Видимо, в том, что они называются по-разному. Соответственно, хибернейт знает, что в постоянной таблице хранятся объекты нужного типа. А вот про временную он может и не знать. Поэтому и спрашиваю, как его натравить.
20 окт 09, 12:05    [7810504]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
XopcT
автор
Я хотел сказать, что "изменением" может быть и преобразование ее в table-valued функцию
Можно немного поподробнее об этом? С мат.частью не сильно дружен.
Возвращающие табличное значение пользовательские функции
20 окт 09, 12:06    [7810506]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
еще один вариант существует

Select 
           *
from 
          OPENROWSET('SQLOLEDB','Data Source=Имя_Сервера;Trusted_Connection=yes;
          Integrated Security=SSPI','Execute Имя_БД..Имя_процедуры')
20 окт 09, 12:07    [7810525]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
А почему полный путь? Запрос будет выполняться не на стороне БД?
20 окт 09, 12:12    [7810551]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
XopcT
Видимо, в том, что они называются по-разному. Соответственно, хибернейт знает, что в постоянной таблице хранятся объекты нужного типа. А вот про временную он может и не знать. Поэтому и спрашиваю, как его натравить.

кто такой хибернет? у вас вопрос изначально был в другом. а не в настройке некого хибернетааа
20 окт 09, 12:14    [7810573]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
XopcT
А почему полный путь? Запрос будет выполняться не на стороне БД?


Вы читать справку умеете?

Содержит все необходимые сведения о соединении, которые требуются для доступа к удаленным данным источника данных OLE DB. Это альтернативный метод для доступа к таблицам на связанном сервере и является однократным нерегламентированным методом соединения и удаленного доступа к данным с помощью OLE DB. Вместо этого для более частых ссылок на источники данных OLE DB используйте связанные серверы. Дополнительные сведения см. в разделе Связь серверов. Функция OPENROWSET может быть использована в предложении FROM запроса так, как если бы она была именем таблицы. Функция OPENROWSET также может быть использована как целевая таблица в инструкциях INSERT, UPDATE или DELETE. Это зависит от возможностей поставщика OLE DB. Несмотря на то, что запрос может возвратить несколько результирующих наборов, функция OPENROWSET возвращает только первый из них.

Сообщение было отредактировано: 20 окт 09, 12:18
20 окт 09, 12:16    [7810585]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
ТАРАКАН
автор
кто такой хибернет?

ORM-библиотека такая. Да, задал вопрос в общем виде, но было бы очень круто увязать всё с тем, что у меня есть в данный момент :)
20 окт 09, 12:17    [7810591]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
ТАРАКАН
автор
Вы читать справку умеете?

Работаю над собой.
20 окт 09, 12:19    [7810612]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
XopcT
ТАРАКАН
автор
кто такой хибернет?

ORM-библиотека такая. Да, задал вопрос в общем виде, но было бы очень круто увязать всё с тем, что у меня есть в данный момент :)

вы хотите этот селект с вызовом процедуры засунуть в библиотеку? и в чем проблема?
20 окт 09, 12:20    [7810620]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
ТАРАКАН
автор
вы хотите этот селект с вызовом процедуры засунуть в библиотеку? и в чем проблема?

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

Ещё такой момент, при массовом доступе к БД сработают ли временные таблицы?
20 окт 09, 12:23    [7810639]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
XopcT

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

Обратитесь в форум по вашему классу. Севрверу все равно, как клиент воспринимает результат переданного на выполнение скрипта
20 окт 09, 12:24    [7810650]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
XopcT
ТАРАКАН
автор
вы хотите этот селект с вызовом процедуры засунуть в библиотеку? и в чем проблема?

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

Ещё такой момент, при массовом доступе к БД сработают ли временные таблицы?

читаем, читаем, читаем (Ленин)
http://msdn.microsoft.com/ru-ru/library/ms177399(SQL.90).aspx
20 окт 09, 12:27    [7810671]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
Glory
автор
Севрверу все равно, как клиент воспринимает результат переданного на выполнение скрипта

Мнение сервера уважаю, но было бы круто, чтобы работало всё в комплексе.
20 окт 09, 12:30    [7810706]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
XopcT
Glory
автор
Севрверу все равно, как клиент воспринимает результат переданного на выполнение скрипта

Мнение сервера уважаю, но было бы круто, чтобы работало всё в комплексе.

А причем тут MSSQL и как он может ваш класс заставить работать так, как вам бы этого хотелось ?
20 окт 09, 12:32    [7810716]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
XopcT
Member

Откуда:
Сообщений: 35
Glory
автор
А причем тут MSSQL и как он может ваш класс заставить работать так, как вам бы этого хотелось ?

Он запросто может заставить мой класс не работать. Класс привязан к конкретной таблице.
Я не могу с уверенностью сказать, правильно ли его распознают, если будет другая таблица. Поэтому и хотел уточнить.
20 окт 09, 12:35    [7810738]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
XopcT
Glory
автор
А причем тут MSSQL и как он может ваш класс заставить работать так, как вам бы этого хотелось ?

Он запросто может заставить мой класс не работать. Класс привязан к конкретной таблице.
Я не могу с уверенностью сказать, правильно ли его распознают, если будет другая таблица. Поэтому и хотел уточнить.

Ну так и уточняйте в нужном форуме. Где обсуждают программирование на хибернейте
20 окт 09, 12:36    [7810754]     Ответить | Цитировать Сообщить модератору
 Re: SELECT из хранимой процедуры  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
XopcT
Glory
автор
А причем тут MSSQL и как он может ваш класс заставить работать так, как вам бы этого хотелось ?

Он запросто может заставить мой класс не работать. Класс привязан к конкретной таблице.
Я не могу с уверенностью сказать, правильно ли его распознают, если будет другая таблица. Поэтому и хотел уточнить.

а почему таблицА ? почему не представление или ХП , запрос ? к томуже тблицы временные разные бывают )))
20 окт 09, 12:38    [7810767]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить