1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 75
1

Хранимая процедура для доначисления

17.09.2017, 16:19. Показов 1241. Ответов 2

Студворк — интернет-сервис помощи студентам
Доброго дня.
Таблица:
SQL
1
2
3
4
        id_nahislenie INT
        plochad        INT
        stoimost       INT
        summa_na   INT
Необходима процедура, которая доначислит остаток между всеми записями в таблице в зависимости от площади(plochad) и добавит к существующей сумме(summa_na).

Примерно все должно выглядеть так:
Нам указали что остаток 1000(вводится с клавиатуры), мы (1000 / кол-во записей в таблице * stoimost * plochad) + summa_na
В итоге все что в скобках должно суммироваться со значением в записи summa_na


Вот что пытался сам:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
CREATE PROCEDURE [dbo].[dopoln]
@chisl INT
AS
BEGIN
DECLARE @Ret money
SET @Ret=0 
SELECT id_nahislenie, kolvo, summa_na
FROM nachislenie AS na
SET @Ret=(@chisl/COUNT(na.id_nahislenie) * plochad) + summa_na
 
UPDATE nachislenie SET summa_na = '@Ret'
END
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2017, 16:19
Ответы с готовыми решениями:

Хранимая процедура для добавления
Есть 2 базы. Из базы tmoplat нужно добавлять столбцы TERB_U и TERD_U в базу Service в столбец...

Хранимая процедура для update
Всем привет, допустим у меня есть таблица, в которой 30 столбцов, не будешь же для каждого столбца...

Хранимая процедура для удаления
Добрый день! У меня есть таблицы, которые заполнены сгенерированными данными. Нужно написать...

Хранимая процедура для извлечения таблиц
Требуется создать интернет магазин. Планирую сделать через sql. Пишу корзину: При создании...

2
5322 / 4256 / 1052
Регистрация: 29.08.2013
Сообщений: 26,825
Записей в блоге: 3
18.09.2017, 07:28 2
что такое
Цитата Сообщение от vlsd Посмотреть сообщение
COUNT(na.id_nahislenie)
и вообще вот этой конструкцией что ты делаешь?
Цитата Сообщение от vlsd Посмотреть сообщение
SELECT id_nahislenie, kolvo, summa_na
FROM nachislenie AS na
SET @Ret=(@chisl/COUNT(na.id_nahislenie) * plochad) + summa_na
ты понимаешь что к запросу SET ни каким боком не причастен?
как минимум нужно так
SQL
1
SET @ret = (SELECT @chisl/COUNT(na.id_nahislenie) * plochad) + summa_na  FROM nachislenie AS na
только вот твой COUNT тут непонятен
_
1
1 / 1 / 1
Регистрация: 22.05.2012
Сообщений: 9
18.09.2017, 07:55 3
Лучший ответ Сообщение было отмечено vlsd как решение

Решение

Мне кажется таким образом рациональнее будет?

SQL
1
2
3
4
5
6
7
8
9
10
DECLARE
@ost INT = 1000,--Остаток введенный с клавиатуры
@countRow INT
BEGIN
    SELECT  @countRow = COUNT(*)
    FROM    nachislenie
 
    UPDATE nachislenie
    SET summa_na = ((@ost/@countRow) * plochad * stoimost) + summa_na
END
1
18.09.2017, 07:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2017, 07:55
Помогаю со студенческими работами здесь

Хранимая процедура для изменения скидок
Есть БД с двумя объектами Discounts и Goods. Необходимо создать хранимую процедуру для изменения...

Триггер или хранимая процедура для удаления?
Добрый день! Помогите, пожалуйста, написать хранимую процедуру или триггер для удаления информации...

Хранимая процедура для увелечения цены на поставки товара на 15%
Есть таблица Поставка в ней есть цена_поставки_изделия //цена с плавающей запятой Нужна Хранимая...

Хранимая процедура сортировки числового поля для сортировки по алфавиту
В таблице есть поле Name , в котором, собственно, и хранятся типы товаров, и есть поле Ordinal c...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru