Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 30.04.2019, 19:31   #1
1x2x3
Новичок
Джуниор
 
Регистрация: 30.04.2019
Сообщений: 1
Вопрос Хранимая процедура SQL в MSSS

Добрый день, хочу с вами посоветоваться.
е
Код:
сть хранимая процедура, точнее 2 в 1 как то так:
 CREATE PROCEDURE [discount]  (IN @sm INT,IN @i INT, OUT @ss DOUBLE)
COMMENT 'процедура высчитывающая скидку заказчику'
begin
     IF ((@sm>= 10000) && (@sm<50000)) THAN
		SELECT SUM([summa])*0.01 FROM order_list WHERE id_customer=@i
		ELSIF (@sm>=50000) && (@sm<90000)) THAN
		 SELECT SUM([summa])*0.03 FROM order_list WHERE id_customer=@i
		ELSIF (@sm>=90000) && (@sm<250000)) THAN 
		 SELECT SUM([summa])*0.05 FROM order_list WHERE id_customer=@i
		ELSIF (sm>=250000) && (@sm<1000000)) THAN 
		SELECT SUM([summa])*0.07 FROM order_list WHERE id_customer=@i
		ELSIF (@sm>=1000000) THAN
		SELECT SUM([summa]) INTO @ss FROM order_list WHERE id_customer=@i
        END IF;
    end
	//
 
 CREATE PROCEDURE sum_price (IN @i INT, OUT @ss DOUBLE)
 COMMENT 'процедура возвращающая сумму заказов по индетификатору'
 begin 
	DECLARE @s INT;/*оператор, позволяющий использовать преременные в процедуре*/
 DROP VIEW IF EXISTS report_customer; /*команда, удаляющая представление report_customer,что бы можно было обращаться несколько раз,не создавая новое представление, которое будет существовать */
     CREATE VIEW report_customer
	 AS SELECT [Order].[id order], [Customer].[id customer], [Order].[price order]
	 AS summa
	 FROM customer,order_list
	 WHERE [customer].[id customer]=[order list].[id customer];
	 SELECT SUM([summa]) [price order] INTO @s FROM [order list] WHERE id_customer=@i;
	 CALL discount (@s,@i,@ss);

	 end
	//
есть база данных схема прикреплена
суть процедуры в том, что бы высчитывать скидку заказчика (customer) по сумме его покупок. Это обязательно должна быть хранимая процедура.
код не работает(
Изображения
Тип файла: png схема.PNG (37.8 Кб, 131 просмотров)
1x2x3 вне форума Ответить с цитированием
Старый 06.05.2019, 23:51   #2
JavaDoc
Пользователь
 
Регистрация: 15.12.2018
Сообщений: 16
По умолчанию

Т.е. тебе надо переодически подсчитывать одно и то же? Я для таких целей использовал вью таблицы
JavaDoc вне форума Ответить с цитированием
Старый 07.05.2019, 10:31   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от JavaDoc Посмотреть сообщение
Т.е. тебе надо переодически подсчитывать одно и то же? Я для таких целей использовал вью таблицы
Вы просто так пишете, не читая?

автору темы нужна хранимая процедура на сервере
Цитата:
Сообщение от 1x2x3 Посмотреть сообщение
Это обязательно должна быть хранимая процедура.
и, внимание, что он делает в этой процедуре?
Цитата:
Сообщение от 1x2x3 Посмотреть сообщение
Код:
CREATE VIEW report_customer
?
правильно! Создаёт вьюху.
А проблема в том, что эта вьюха у него не работает.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.05.2019, 11:12   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Что такое MSSS?
Цитата:
код не работает
В чем это не работает выражается?
Зачем представление по-новой создается каждый раз при обращении к sum_price?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хранимая Процедура DmitryVolkov SQL, базы данных 3 01.03.2019 19:25
Хранимая процедура SsAn SQL, базы данных 1 23.12.2015 20:10
Хранимая процедура snouwyt Помощь студентам 1 13.06.2015 08:20
Хранимая процедура. WizarD.89 SQL, базы данных 13 24.11.2012 16:17
Хранимая процедура. nimf БД в Delphi 2 22.04.2008 13:16