1、文件导入
pg_dump.exe --host host端口 --port 端口号 --username 连接名 --file 文件路径 “数据库名称” 例如: pg_dump.exe --host localhost --port 5432 --username postgres --format custom --blobs --verbose --file "C:\Documents and Settings\Administrator\桌面\SPISS_KAIFA.backup" "SPISS"
2、循环语句
CREATE OR REPLACE FUNCTION showName() RETURNS TEXT AS $$ DECLARE abc VARCHAR ; i int; parent INT ; lev INT; j int; BEGIN i := 1; while i<64 loop j := i; SELECT tablename,parentid,"level" into abc ,parent,lev from rp_tablelist WHERE tableid=j; INSERT INTO rp_tablelist VALUES(j+63,abc,parent,lev,2,1); i := i+1; end loop; RETURN i; END; $$ LANGUAGE plpgsql;
3、返回一个游标的存储过程
CREATE OR REPLACE FUNCTION getEntIndustry(refcursor,VARCHAR) RETURNS refcursor as $$ BEGIN OPEN $1 FOR SELECT enterpriseid,industries FROM enterprise WHERE industries like $2; RETURN $1; END $$LANGUAGE plpgsql; 第一参数为游标的名称,第二个参数为搜索的条件 使用方法 select getEntIndustry('abc','建筑');
4、遍历游标,更改对应的数据库表项
CREATE OR REPLACE FUNCTION updEntIndustry(refcursor,VARCHAR) RETURNS SETOF TEXT as $$ DECLARE entid int; inds text; inds1 text; BEGIN FETCH $1 INTO entid,inds; while FOUND loop inds1 := inds || $2; UPDATE enterprise SET industries=inds1 WHERE enterpriseid=entid; FETCH $1 INTO entid,inds; END loop; END $$LANGUAGE plpgsql; 第一个参数为需要被调用的游标的名称,第二参数为附带的特定字符串信息 使用方法select updEntIndustry('abc','领域');
3和4联合起来使用可以循环更改某一张数据表的特定信息