CREATE or replace FUNCTION alterColumn(cloumnName VARCHAR(32), out v_retcode text)
AS
$BODY$
declare
row_data VARCHAR;
showSql VARCHAR;
i INTEGER:=1;
intm INTEGER;

BEGIN
for row_data in select relname as tabname from pg_class c where relkind = ‘r’ and relname not like ‘pg_%’ and relname not like ‘sql_%’ and relname like ‘t_qcc%’ and relname not in(‘t_gtl_mini_program’,’t_gtl_customer_mini_program’) order by relname LOOP
intm = (select count(*) from information_schema.columns where table_name =row_data and column_name=cloumnName);

raise notice ‘Parameter is: %’, intm;
if intm > 0 then
showSql = ‘alter TABLE ‘ || row_data ||’ ALTER COLUMN ‘ || cloumnName ||’ TYPE varchar(64)’;
EXECUTE showSql;
raise notice ‘Parameter is: %’, showSql;
end if;
END LOOP;
END;
$BODY$
language plpgsql;

SELECT * from alterColumn(‘data_id’)

版权声明:本文为zchengxu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zchengxu/p/12662009.html