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聯合起來使用可以循環更改某一張數據表的特定信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章