Привет всем 1. Правильно ли я возвращаю несколько значений, в виде RECORD CREATE OR REPLACE FUNCTION get_curr_speeds(INT) RETURNS RECORD AS $$ нельзя как в Fb ... RETURNS ( B INTEGER, A VARCHAR(100), C BLOB ) ? 2. Как вытащить последний RecordID (SERIAL) lpids RECORD; BEGIN SELECT INTO lpids MAX(id) AS lid, MAX(id) - 1 AS pid FROM session_stats WHERE session_id = $1; так правильно ? 3. Как лучше разницу между временем высчитать ? (что-то вроде: UNIXTIMESTAMP - UNIXTIMESTAMP) BEGIN SELECT INTO seconds TO_NUMBER(TO_CHAR((SELECT created FROM session_stats WHERE id = $1) - (SELECT created FROM session_stats WHERE id = $2), 'SSSS'), '99G999D9S'); RETURN seconds; END; только так ? Мне надо время между обновлениями получить.. 4. Правильно так использовать наследование CREATE TABLE stats ( li_octets INT DEFAULT 0, lo_octets INT DEFAULT 0, wi_octets INT DEFAULT 0, wo_octets INT DEFAULT 0 ); CREATE TABLE sessions ( id BIGSERIAL, username VARCHAR(128) REFERENCES accounts(username), started TIMESTAMP DEFAULT NOW(), ended TIMESTAMP ) INHERITS (stats); INSERT INTO sessions (username) VALUES ('halflife'); CREATE TABLE session_stats ( id BIGSERIAL, session_id BIGINT, created TIMESTAMP DEFAULT NOW() ) INHERITS (stats); ? Знаю, надо книжку какую нибудь почитать, но у меня щас денег нет на бумажный вариант а с экрана много вычитать мне трудно =( Потому прошу за скорее всего дурацкие вопросы сильно не пинать =)