postgreSQL常用方法

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联合起来使用可以循环更改某一张数据表的特定信息

猜你喜欢

转载自814318774.iteye.com/blog/1866749