Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2016, 16:28   #1
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию Процедура. Как обработать столбец таблицы

Сделал процедуру с параметром, которая считает количество определенных букв.

Вызов
Код:
EXEC Var_55 'тут значение параметра'
Сама процедура
Код:
create proc Var_55 @text NVARCHAR(1000)
AS
DECLARE @i INT,@c CHAR (1),@countA INT,@countЕ1 INT,@countЕ2 INT,
@countI INT,@countO INT,@countU INT,@countIY INT,@countEE INT,@countEU INT,@countEY INT
SET @countA=0
SET @countЕ1=0
SET @countЕ2=0
SET @countI=0
SET @countO=0
SET @countU=0
SET @countIY=0
SET @countEE=0
SET @countEU=0
SET @countEY=0
SET @i = 0
While  @i < len (@text)
BEGIN 
    SET @i=@i+1
    SET @c = SUBSTRING (@text,@i, 1 )
    IF (@c= 'а')
	SET @countA=@countA+1
    IF (@c= 'е')
	SET @countЕ1=@countЕ1+1
    IF (@c= 'ё')
	SET @countЕ2=@countЕ2+1
    IF (@c= 'и')
	SET @countI=@countI+1
    IF (@c= 'о')
	SET @countO=@countO+1
    IF (@c= 'у')
	SET @countU=@countU+1
    IF (@c= 'ы')
	SET @countIY=@countIY+1
    IF (@c= 'э')
	SET @countEE=@countEE+1
    IF (@c= 'ю')
	SET @countEU=@countEU+1
    IF (@c= 'я')
	SET @countEY=@countEY+1
END
SELECT @countA as [Количество 'a'],@countЕ1 as [Количество 'е'],@countЕ2 as [Количество 'ё'],
@countI as [Количество 'и'],@countO as [Количество 'о'],@countU as [Количество 'у'],@countIY as [Количество 'ы'],
@countEE as [Количество 'э'],@countEU as [Количество 'ю'],@countEY as [Количество 'я']
GO
Вопрос: Как передать в качестве параметра результат запроса? Или как произвести ту же работу для запроса?

То есть нужно в одном столбце посчитать сразу во всех строчках как в одном будто тексте.

Сам запрос, который выдаст информацию, к которой нужно применить процедуру

Код:
select Товары.Описание from Товары
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 12.05.2016, 16:36   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

cursor в процедуру и считай по строкам курсора. Пример работы с курсором
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.05.2016, 15:12   #3
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

Спасибо, решил вопрос
a.n.o.n.i.m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заменить столбец одной таблицы, на столбец другой Karyuudo SQL, базы данных 1 30.09.2015 16:07
Как получить столбец из таблицы на сайте... 1221 Работа с сетью в Delphi 8 22.11.2010 16:58
Как обновить столбец одной таблицы из другой таблицы kairat_tuyakbaev Microsoft Office Access 2 24.09.2010 12:46
Как обновить столбец одной таблицы из другой таблицы kairat_tuyakbaev SQL, базы данных 0 23.09.2010 23:42
Как удалить столбец таблицы средствами VB Kingson Microsoft Office Access 4 08.04.2010 10:46