Postgresql函数执行错误
我创建了两个函数。我想在主函数中运行这些函数。当我运行main函数时,我得到一个错误。我怎样才能解决这个问题 注意:受影响的行为0 上下文:SQL语句“选择更新\u报废\u v15()” PL/pgSQL函数所有函数()SQL语句第15行 错误:查询没有结果数据的目标 提示:如果要放弃选择的结果,请改用“执行”。 上下文:PL/pgSQL所有函数()SQL语句第15行 这是我的第一个函数Postgresql函数执行错误,postgresql,Postgresql,我创建了两个函数。我想在主函数中运行这些函数。当我运行main函数时,我得到一个错误。我怎样才能解决这个问题 注意:受影响的行为0 上下文:SQL语句“选择更新\u报废\u v15()” PL/pgSQL函数所有函数()SQL语句第15行 错误:查询没有结果数据的目标 提示:如果要放弃选择的结果,请改用“执行”。 上下文:PL/pgSQL所有函数()SQL语句第15行 这是我的第一个函数 CREATE OR REPLACE FUNCTION update_scrap_v15() RETURNS
CREATE OR REPLACE FUNCTION update_scrap_v15() RETURNS void AS
$BODY$
DECLARE
scrap_d integer;
BEGIN
update public.scrap_v15_src t2 set scrap = 66 where scrap= 0 and il like '%src%';
GET DIAGNOSTICS scrap_d = ROW_COUNT;
RAISE NOTICE 'The rows affected scrap d=%', scrap_d;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION update_scrap_v15()
OWNER TO postgres;
CREATE OR REPLACE FUNCTION scrap_type() RETURNS void AS
$BODY$
DECLARE
scrap_t integer;
BEGIN
update public.tmz_001 set scrap_type = '55';
update public.tmz_001 set scrap_dtu = '55';
GET DIAGNOSTICS scrap_t = ROW_COUNT;
RAISE NOTICE 'The rows affected scrap d=%', scrap_t;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION scrap_type()
OWNER TO postgres;
CREATE OR REPLACE FUNCTION all_functions() RETURNS void AS
$BODY$
DECLARE
adm_1 integer; adm_2 integer;
BEGIN
Select update_scrap_v15();
GET DIAGNOSTICS adm_1 = ROW_COUNT;
RAISE NOTICE 'affected=%', adm_1;
Select scrap_type();
GET DIAGNOSTICS adm_2 = ROW_COUNT;
RAISE NOTICE 'affected=%', adm_2;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION all_functions()
OWNER TO postgres;
这是我的第二个功能
CREATE OR REPLACE FUNCTION update_scrap_v15() RETURNS void AS
$BODY$
DECLARE
scrap_d integer;
BEGIN
update public.scrap_v15_src t2 set scrap = 66 where scrap= 0 and il like '%src%';
GET DIAGNOSTICS scrap_d = ROW_COUNT;
RAISE NOTICE 'The rows affected scrap d=%', scrap_d;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION update_scrap_v15()
OWNER TO postgres;
CREATE OR REPLACE FUNCTION scrap_type() RETURNS void AS
$BODY$
DECLARE
scrap_t integer;
BEGIN
update public.tmz_001 set scrap_type = '55';
update public.tmz_001 set scrap_dtu = '55';
GET DIAGNOSTICS scrap_t = ROW_COUNT;
RAISE NOTICE 'The rows affected scrap d=%', scrap_t;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION scrap_type()
OWNER TO postgres;
CREATE OR REPLACE FUNCTION all_functions() RETURNS void AS
$BODY$
DECLARE
adm_1 integer; adm_2 integer;
BEGIN
Select update_scrap_v15();
GET DIAGNOSTICS adm_1 = ROW_COUNT;
RAISE NOTICE 'affected=%', adm_1;
Select scrap_type();
GET DIAGNOSTICS adm_2 = ROW_COUNT;
RAISE NOTICE 'affected=%', adm_2;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION all_functions()
OWNER TO postgres;
这是我的主要功能
CREATE OR REPLACE FUNCTION update_scrap_v15() RETURNS void AS
$BODY$
DECLARE
scrap_d integer;
BEGIN
update public.scrap_v15_src t2 set scrap = 66 where scrap= 0 and il like '%src%';
GET DIAGNOSTICS scrap_d = ROW_COUNT;
RAISE NOTICE 'The rows affected scrap d=%', scrap_d;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION update_scrap_v15()
OWNER TO postgres;
CREATE OR REPLACE FUNCTION scrap_type() RETURNS void AS
$BODY$
DECLARE
scrap_t integer;
BEGIN
update public.tmz_001 set scrap_type = '55';
update public.tmz_001 set scrap_dtu = '55';
GET DIAGNOSTICS scrap_t = ROW_COUNT;
RAISE NOTICE 'The rows affected scrap d=%', scrap_t;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION scrap_type()
OWNER TO postgres;
CREATE OR REPLACE FUNCTION all_functions() RETURNS void AS
$BODY$
DECLARE
adm_1 integer; adm_2 integer;
BEGIN
Select update_scrap_v15();
GET DIAGNOSTICS adm_1 = ROW_COUNT;
RAISE NOTICE 'affected=%', adm_1;
Select scrap_type();
GET DIAGNOSTICS adm_2 = ROW_COUNT;
RAISE NOTICE 'affected=%', adm_2;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION all_functions()
OWNER TO postgres;
在postgres中,如果函数返回
void
则键入由PERFORM
调用的类型
相反:
Select update_scrap_v15();
使用以下命令:
PERFORM update_scrap_v15();
提示:如果要放弃选择的结果,请使用PERFORM。
我知道。我怎样才能改变这个功能?真的吗?将SELECT替换为性能,如“执行更新\报废\ v15();获取诊断adm \ U 1=行\计数;发出通知'受影响=%”,adm \ U 1;执行报废\类型();获取诊断adm \ U 2=行\计数;发出通知'受影响=%”,adm \ U 2;”?感谢PostgreSQL的维护人员-该错误消息为您提供了问题的答案。