LINUX.ORG.RU

DB2 help!


0

0

в общем есть проект на postgres'е
надо перенести его на субж
ДБ2 вижу впервые в жизни :)
Собсно сам таблицы перенести не суть сложно, а вот всякие функции - уже сложнее (точнее хз как :)
скажем есть ф-ия

CREATE OR REPLACE FUNCTION REG.delete_form (TEXT)
RETURNS integer AS '
        declare
			wstrUUID alias for $1;
			ret integer;
        begin
		delete from REG.Forms where uuid=wstrUUID;
		GET DIAGNOSTICS ret = ROW_COUNT;
		return ret;
        end;
 ' LANGUAGE plpgsql;
и дергалась она соответственно так :
select REG.delete_form('some_uuid');
(возвращаемое значение [в общем случае] - принципиально!)

если же я создаю функцию в ДБ2 то как мне получить результат её работы?
скажем я создал ф-ию  tan1(double) returns double ...
что мне с ней дальше делать:?




Re: DB2 help!

Добрый день, все очень просто) Мне кажется, проще чем в PostgreSQL. Существуют UDF, скалярные и табличные функции. Вас, как я понял, интересуют табличные. Пример:

--- START CREATE FUNCTION GET_MARKS ( begin_range INT, end_range INT) RETURNS TABLE (cid CANDIDATE_ID, number TEST_ID, score SCORE) LANGUAGE SQL READS DATA RETURN SELECT CID, NUMBER, SCORE FROM test_taken WHERE SCORE BETWEEN SCORE (begin_range) AND SCORE (end_range);

--- END

Использовать её можно так:

SELECT * FROM TABLE (GET_MARKS(60, 70)) AS MARKS;

Вот так:) На ibm.com должно быть много документации поподробнее.

--- With best regards, Vladislav Lazarenko

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.