PGSQL
create or replace function PRIMARY_KEY_MANY(t character varying, columnnames character varying, types character varying)
RETURNS void AS
$BODY$
DECLARE
count int4 :=0; --判断是否需要添加主键
num int4 := 0;
rec_column varchar;
cur_column CURSOR(columnNames varchar) FOR SELECT regexp_split_to_table(columnNames,',');
rec_type varchar;
cur_type CURSOR(types varchar) FOR SELECT regexp_split_to_table(types,',');
BEGIN
select count(*) into num from pg_tables where schemaname='ly_ysj' and tablename=lower(T);
IF num > 0 THEN
OPEN cur_column(columnNames);
OPEN cur_type(types);
LOOP
FETCH cur_column INTO rec_column;-- 获取字段放入rec_column
FETCH cur_type INTO rec_type;-- 获取字段类型放入rec_type
EXIT WHEN NOT FOUND;
select count(*)
into num
from information_schema.columns
where table_schema = 'ly_y