Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Результат SP в view / 7 сообщений из 7, страница 1 из 1
09.02.2001, 13:29
    #32002119
Иринка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SP в view
Люди добрые! Никак не могу найти, можно ли хоть как-нибудь использовать хранимую процедуру для преобразования значения поля при создании view?
Проблема такая: есть поле А таблицы со значением 'xxxxx', есть хранимая процедура, которая преобразует его в значение 'yyyyyy'. Надо создать такой view, чтобы результат был
A
----
yyyyyy
Понятно, что нельзя просто записать
SELECT имя_процедуры(A), но как-нибудь можно добиться подобного результата?
...
Рейтинг: 0 / 0
09.02.2001, 13:48
    #32002120
Staple
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SP в view
Конечно, можно.
Так прямо и пиши:
Select преобразование(A) (например, 'Вот такая дребедень: ' + ltrim(str(log(sqrt((sin(A)+25)))))) From table1
Если бы ты подробнее написала, что за преобразование, то и ответ был бы подробнее.
...
Рейтинг: 0 / 0
09.02.2001, 14:56
    #32002122
Иринка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SP в view
Преобразование такое:
есть строка длиной 7 символов, содержащая числа от 1 до 7 в порядке возрастания и/или пробелы, например '123 67'. Необходимо преобразовать ее к виду '1-3;6-7'. Исходная строка может содержать любые комбинации чисел и пробелов от 7 пробелов до строки '1234567'.
Надо эту строку записать в виде интервалов. Я ничего умнее использования циклов придумать не могу. Буду безгранично благодарна, если кто-нибудь подскажет, как это преобразование сделать другим способом.
...
Рейтинг: 0 / 0
09.02.2001, 16:15
    #32002125
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SP в view
Вы будете смеяться, но это работает

select id, replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(convert(varchar(30),id)
,'1234567','1-7')
,'234567','2-7')
,'34567','3-7')
,'4567','4-7')
,'567','5-7')
,'67','6-7')
,'123456','1-6')
,'23456','2-6')
,'3456','3-6')
,'456','4-6')
,'56','5-6')
,'12345','1-5')
,'2345','2-5')
,'345','3-5')
,'45','4-5')
,'1234','1-4')
,'234','2-4')
,'34','3-4')
,'123','1-3')
,'23','2-3')
,'12','1-2')
,' ',' ' ),' ',';')
from sysobjects


циклы им панимашь подавай...
...
Рейтинг: 0 / 0
09.02.2001, 16:53
    #32002129
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SP в view
Пардон, можно чуть покороче сделать

select id, replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(convert(varchar(30),id)
,'67','6-7')
,'56-','5-')
,'56','5-6')
,'45-','4-')
,'45','4-5')
,'23-','2-')
,'23','2-3')
,'12-','1-')
,'12','1-2')
,' ',' ' ),' ',';')
from sysobjects

Ну и как там насчет "безграничной благодарности"?

С приветом Сергей
sergsuper@mail.ru
...
Рейтинг: 0 / 0
09.02.2001, 17:21
    #32002131
Bhbyrf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SP в view
Я поражена в самое сердце! Это действительно работает!!! Спасибо!!!!
Так как благодарность действительно безгранична, то материализовать ее совершенно невозможно
...
Рейтинг: 0 / 0
09.02.2001, 18:55
    #32002136
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SP в view
Небольшое дополненьице. Подобные задачи вообще решаются не с помощью хранимых процедур, а спомощью пользовательских функций (имеется в виду универсальное решение на циклах). В версии 7.0 такая возможность отсутствует, однако она появилась в версии MS SQL Server-2000.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Результат SP в view / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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