Re: Postgres & functions
От: valera_k2000  
Дата: 25.05.06 20:06
Оценка:
можно обойтись и без объявления типа.
CREATE OR REPLACE FUNCTION work_schema.Who_Lock_Object(IN _Name_Object TEXT,
IN _ID_Row INTEGER,
OUT ID_Session INTEGER,
OUT ID_User INTEGER,
OUT NAME_User VARCHAR(100))
RETURNS SETOF RECORD AS $$
DECLARE
_id_obj INTEGER;
_row_lock work_schema.Lock_Objects%ROWTYPE;
BEGIN
SELECT ID INTO _id_obj
FROM work_schema.Dict_Objects
WHERE NAME=_Name_Object;
--
IF FOUND THEN
FOR _row_lock IN SELECT *
FROM work_schema.Lock_Objects
WHERE ID_Object=_id_obj AND ID_Row=_ID_Row AND Status='L'
LOOP
ID_Session:=_row_lock.ID_Session;
ID_User:=_row_lock.ID_User;
NAME_User:=(SELECT NAME FROM work_schema.Dict_Users WHERE ID=_row_lock.ID_User LIMIT 1);
--
RETURN NEXT;
END LOOP;
END IF;
END;
$$ LANGUAGE 'plpgsql' RETURNS NULL ON NULL INPUT STABLE SECURITY DEFINER;
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.