powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Могу ли использовать временную процедуру в селекте
23 сообщений из 23, страница 1 из 1
Могу ли использовать временную процедуру в селекте
    #39965667
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
IF object_id('tempdb.dbo.#f') is not null DROP PROCEDURE #f
go 
create proc #f
as select '!'
go 
exec #f




Могу ли использовать временную процедуру в селекте типа?:
Код: sql
1.
select #f as field1, 'afa' as f2, f3 = 'nin'




Надо ли для этого использовать параметры в процедуре типа
Код: sql
1.
out


?
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965669
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry,

Может уже вопрос будет что вам надо, а не всю дичь расписывать по отдельным вопросам
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965686
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,
для простоты пусть в селекте во временную процедуру передаётся параметр
(пусть это будет цифра
Код: sql
1.
2


)
и в селекте используется результат процедуры
(
Код: sql
1.
140


)

А процедура просто умножает параметр на 70.

Типа:
Код: sql
1.
select my_proc(2) as f1;


Должно возвратить:
f1
140

"всю дичь расписывать по отдельным вопросам" это и есть декомпозиция.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965701
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965703
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry,

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

У вас задача погреть / положить сервер, что ли?
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965709
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor Tiegael,
использовать в селекте временные процедуры, похоже это не возможно.
Остаётся использовать только временные функции, но их нельзя создавать.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965716
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry
Ennor Tiegael,
использовать в селекте временные процедуры, похоже это не возможно.
Остаётся использовать только временные функции, но их нельзя создавать.
А создавать постоянные функции, видимо, религия не позволяет. Как и решить свою неизвестную задачу доступными средствами.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965719
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry
"всю дичь расписывать по отдельным вопросам" это и есть декомпозиция.
На SQL программируют иначе, чем в Дельфи.
Процедуры использовать в селектах нельзя. Другими способами получать данные из процедур можно, но с ограничениями.
Для вычисления скалярных выражений, с использованием св запросах, есть функции, но применять их надо осторожно.
Создание решений на РСУБД (в частности, MSSQL) в первую очередь сводится к созданию правильной модели данных; и потом такого рода "умножения" обычно сводятся к соединению множеств, и умножению значений атрибутов. Поэтому вам и предложили рассказать о задаче.
В общем, вам нужно или взять специалиста, или научиться самому, пока что стараясь не сильно отклоняться от описанных в документации примеров.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965731
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry,

напишите что Вы хотите получить из каких данных, а не способ, которым Вы это намерены сделать.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965751
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сабжу: Все верно. ХП умеют работать с времянками, а ф-ции нет. Логично, что врем.ф-ция тоже невозможна.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965755
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,
"напишите что Вы хотите получить из каких данных, а не способ, которым Вы это намерены сделать. "
из таблицы хочу получит значение столбца, на основе значения этого столбца провести вычисление в функции и записать в новосозданный другой столбец выборки и всё это в рамках селекта.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965758
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry
из таблицы хочу получит значение столбца, на основе значения этого столбца провести вычисление в функции и записать в новосозданный другой столбец выборки и всё это в рамках селекта.
Что мешает это сделать без функций и процедур?
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965761
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry
Владислав Колосов,
"напишите что Вы хотите получить из каких данных, а не способ, которым Вы это намерены сделать. "
из таблицы хочу получит значение столбца, на основе значения этого столбца провести вычисление в функции и записать в новосозданный другой столбец выборки и всё это в рамках селекта.
Посоветуйте, как пофиксить.
Я хочу написать на Дельфи приложение как MS Word, создал новый проект, перетаскиваю мышкой туда окно Word, что бы использовать как шаблон, а оно не перетаскивается.
Скажите, как пофиксить эту багу, может, это из за русского Windows?
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965763
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,
авторЧто мешает это сделать без функций и процедур?
не мешает, но загромождать
Код: sql
1.
case … end

ом не хочется, более компактно это использование функции.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965767
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry
invm,
авторЧто мешает это сделать без функций и процедур?

не мешает, но загромождать
Код: sql
1.
case … end


ом не хочется, более компактно это использование функции.Ради этого делать скалярки точно не стоит.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965772
Fox Malder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AdamAry,

Нет, не можете.
Если в таком виде:
авторselect #f as field1, 'afa' as f2, f3 = 'nin'

то это скалярная функция
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965791
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно использовать CTE, чтобы не дублировать код CASE по всему запросу.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965800
Fox Malder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AdamAry
invm,
авторЧто мешает это сделать без функций и процедур?

не мешает, но загромождать
Код: sql
1.
case … end

ом не хочется, более компактно это использование функции.

Так а что мешает использовать постоянную скалярную функцию?
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965832
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fox Malder
AdamAry
invm,
пропущено...

не мешает, но загромождать
Код: sql
1.
case … end


ом не хочется, более компактно это использование функции.


Так а что мешает использовать постоянную скалярную функцию?

Автор видимо хочет сначала в коде объявить вычисление (некое выражение, функцию, лямбду).
А потом ниже по коду его использовать в запросе.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965869
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,
авторАвтор видимо хочет сначала в коде объявить вычисление (некое выражение, функцию, лямбду).
А потом ниже по коду его использовать в запросе.
Именно.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39965870
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry
Именно.
CTE или cross apply вас спасет.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39966011
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,

я предлагал, но автор, видимо, не понимает, что такое CTE. AdamAry, читайте справку по теме COMMON TABLE EXPRESSIONS.
...
Рейтинг: 0 / 0
Могу ли использовать временную процедуру в селекте
    #39966024
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,

Если ему нужно вывести результаты вычислений по 10 разным столбцам таблицы, применив к каждому один и тот же алгоритм (функцию), то CTE ему не поможет. Тут будет нужна именно функция (ну или извращаться с UNPIVOT / calculation / PIVOT - еще неизвестно, что будет хуже).

Правда, до сих пор не понятно, что же именно ему нужно.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Могу ли использовать временную процедуру в селекте
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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