powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Select + stored procedure
16 сообщений из 16, страница 1 из 1
Select + stored procedure
    #32028186
galaxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, дайте совет.
Есть здача тарификации данных с АТС. Есть даблица междугородних кодов и таблица междугородних звонков. звонок - это последовательность цифр от 9 до 20, от сюда надо выделить код города. В Accesse я это сделал. В SQL встала проблема, как в selecte вызвать хранимую процедуру с параметром. т.е. Я selectом выбираю номера - select nomer from table.
Есть процедура, выделяющая код из номера - ret_kod(nomer). Как теперь вставить одно в другое. Т.е. я хочу что бы select последовательно перебирал все номера , каждый выбранный номер обрабатывался бы процедурой ret_kod, процедура возвращает код, который потом должен записаться в таблицу и так со всеми номерами.
Помогите. Может кто-то делал что-то подобное???
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028190
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 2000-ном используйте функции.
В 7-м - никак.
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028192
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть даблица междугородних кодов и таблица междугородних звонков. звонок - это последовательность цифр от 9 до 20, от сюда надо выделить код города

А что через JOIN никак нельзя связать эти две таблицы ?
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028193
galaxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблици не связать, т.к. в номере нет никаких разделителей кода от номера. Поэтому я хочу искать все вхождения кодов в номер, а потом выбираю самый длинный код - он и будет правильным
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028202
galaxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну так, все-таки, как в селекте использовать процедуру с параметрами, формат?
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028217
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повторяю.
В 7-м - никак.
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028218
galaxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял. У меня 2000.
Написал я вот такую функцию:
CREATE FUNCTION [dbo].[fun_ret_kod] (@m_number varchar(50))
RETURNS varchar (50)
AS
BEGIN
declare @kod varchar(50)
return (select top 1 kod from all_kod where (convert(varchar(50),@m_number) like kod +'%') ORDER BY Len(all_kod.kod) desc)
END

Что в ней неправильно?
Затем пытаюсь ее вызвать из процедуры типа:

CREATE PROCEDURE [dbo].[test1]
AS
select * from dbo.fun_ret_kod(812)
GO

exec dbo.test1
Выдает : Invalid object name 'dbo.fun_ret_kod'.
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028261
Andreyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую предложить способ:
-создаешь временную табл. и insert into exec stored procedure
А потом со временной табл. делай, что хочешь.
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028262
Andreyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую предложить способ:
-создаешь временную табл. и insert... into #tmptable exec stored procedure
А потом со временной табл. делай, что хочешь.
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028267
Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще всего написать курсор и вызывать в нем нужную sp с параметрами....
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028271
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 galaxy
Есть у меня сомнения что такая функция создастся. Бывают функции скалярные и бывают табличные. Вы делаете нечто среднее.
Почитайте внимательно как писать функции, в конечном итоге это будет лучше чем sp и курсоры. По идее там ничего сложного нет.
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028290
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм,

а не проще ли использовать данный запрос

select top 1 kod from all_kod where (convert(varchar(50), maintable.called_number ) like kod +'%') ORDER BY Len(all_kod.kod) desc

как столбец в основном запросе ?
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028315
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2galaxy
Ошибка в вызове. Попробуйте:

CREATE PROCEDURE [dbo].[test1]
AS
select dbo.fun_ret_kod(id), *
from sysobjects
GO
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028321
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2galaxy
Ошибка в вызове. Попробуйте:

CREATE PROCEDURE [dbo].[test1]
AS
select dbo.fun_ret_kod(id), *
from sysobjects
GO
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028322
galaxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за советы. Я написал функцию и ее через запрос, все работает и очень просто и коротко( в отличии от предыдущего написания в Accesse) В Accesse тарификация за месяц занимала минут 25-30, в sql - 25-30секунд, просто чудо какоето.

Еще один вопрос по ходу, как обрезать знаки посли запятой, есть ли стандартные способы, т.е.
есть цифра 99,23987654322 хочу что-бы было 99,23 (или может быть 99,24)???
...
Рейтинг: 0 / 0
Select + stored procedure
    #32028324
qwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROUND ( numeric_expression , length [ , function ] )
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Select + stored procedure
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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