PL/pgSQL: 定义函数实现修改表

该函数实现根据传递给函数的列名和表名,向表中添加指定列。

 这里使用到了PL/pgSQL函数里的EXECUTE来生成动态命令。

 具体函数定义如下:

CREATE OR REPLACE function addColums(colName text, colType text,tabName text) returns BOOLEAN 
as 
$BODY$
declare 
  res boolean=true;
begin
  EXECUTE 'ALTER TABLE '|| tabName ||' ADD COLUMN '|| colName ||' '|| colType ||'';
  RETURN res;
end;
$BODY$
LANGUAGE plpgsql VOLATILE

说明:要注意对函数参数的引用方式(‘|| 参数 ||’),并使用EXECUTE来执行SQL语句。

使用方式如下:

select addColums('type','varchar','message_info')

以上sql语句表示:给message_info表新增一列type,该列类型为varchar。

你可能感兴趣的:(database,PL/pgSQL执行动态命令,PL/pgSQL使用,PL/pgSQL自定义函数)