0
我有一组3个表,每个表包含3列如下(user_id,user_name,user_lastname,user_code_type)。Postgresql函数返回所做更新
我使用以下函数来插入从表2的值到表1和3
CREATE OR REPLACE FUNCTION "TestDB"."TEST_UPDATE_1"()
RETURNS integer AS
$BODY$
DECLARE
update1 integer;
update2 integer;
BEGIN
INSERT INTO "TestDB"."TEST.TABLE.1" (user_id, user_name, user_lastname, user_code_type)
SELECT RT1.user_id, RT1.user_name, RT1.user_lastname, RT1.user_code_type FROM "TestDB"."TEST.TABLE.2" RT1
WHERE
NOT EXISTS (SELECT 1 FROM "TestDB"."TEST.TABLE.1" RT2 WHERE RT2.user_id = RT1.user_id);
GET DIAGNOSTICS update1 = ROW_COUNT;
INSERT INTO "TestDB"."TEST.TABLE.3" (user_id, user_name, user_lastname, user_code_type)
SELECT RT1.user_id, RT1.user_name, RT1.user_lastname, RT1.user_code_type FROM "TestDB"."TEST.TABLE.2" RT1
WHERE
NOT EXISTS (SELECT 1 FROM "TestDB"."TEST.TABLE.3" RT2 WHERE RT2.user_id = RT1.user_id);
GET DIAGNOSTICS update2 = ROW_COUNT;
RETURN update1+update2;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
由于此刻我得到的行,将其插在两者的总数以上的结果表1和3.
我感兴趣的输出是一个表,它将表示行数,成功插入到1和3(带输出结果的单行和2列表)中。
我已经通过了这里的帖子数量,但找不到将解决此问题的解决方案。任何帮助将非常感激。
非常感谢您的及时回复。我将实施更改并发布更新结果。 –