Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сложение / 5 сообщений из 5, страница 1 из 1
20.09.2008, 14:14
    #35550283
Edu1982
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложение
Есть таблица t1 в которой есть поля

id_sotrudnika, a ,b, kol
1 12 13
2 12 25
3 12 2

как сделать чтобы kol ,была суммой a и b для каждого id_sotrudnika

Спасибо
...
Рейтинг: 0 / 0
20.09.2008, 16:33
    #35550350
Sishnikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложение
Ну самое простое:
UPDATE t1 SET kol = a + b

Второе:
Создать тригернную функцию, чтобы автомато считалось

CREATE TABLE t1
(
id_sotrudnika integer,
a integer,
b integer,
kol integer
)

CREATE OR REPLACE FUNCTION calc_kol()
RETURNS trigger AS
$BODY$
BEGIN
NEW.kol := NEW.a + NEW.b;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;

CREATE TRIGGER calc_kol
BEFORE INSERT OR UPDATE
ON t1
FOR EACH ROW
EXECUTE PROCEDURE calc_kol();
...
Рейтинг: 0 / 0
22.09.2008, 10:05
    #35551455
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложение
создать таблицу с полями (id_sotrudnika, a ,b) и представление с полями (id_sotrudnika, a ,b, kol), в котором поле kol - вычисляемое
...
Рейтинг: 0 / 0
22.09.2008, 11:24
    #35551653
Edu1982
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложение
Спасибо
...
Рейтинг: 0 / 0
22.09.2008, 14:51
    #35552221
ss25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложение
SELECT a, b, (a + b) AS c
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сложение / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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