ストアドプロシージャの例を作成postgrep

 

1.データベースを作成
PSQLは

データベースdb_hxlエンコーディング= 'UTF8'を作成し;
#\ C db_hxl

2.创建表
テーブルtb_test01作成

ID BIGSERIAL主キーNOT NULL、
名前VARCHAR(32)、
CREATETIMEタイムスタンプデフォルトCURRENT_TIMESTAMP、
modifytimeタイムスタンプデフォルトCURRENT_TIMESTAMP
)。

 

ストアドプロシージャを作成します3。

CREATE OR REPLACE FUNCTION " パブリック"" sp_insert_data " ()
  RETURNS " pg_catalogの"" INT4 " AS $ BODY $  
宣言  
    総整数;
        I整数: = 1 ;
ベギン  
 
  しばらく私<= 1000年ループ
   tb_test01に挿入(名)の値(' 名前' || I);
     更新tb_test01
       セット名= ' 更新'、modifytime = NOW()
       ここで、 ID = CEIL(ランダム()*(10000 - 1)+ 1 )。
     私は私は、+ = 1 
  ループを終了します。

   RETURN 1 ;  
終わり;  
$ BODY $
  LANGUAGE plpgsqlがVOLATILE
  COST 100

 

4. crontabのスケジュールを作成し
、[Postgresの@ localhostのスクリプト] $のcrontab -l
## PGテストデータを生成する
* * * * * / 30。1 /home/postgres/scripts/insert_data.sh>を/ dev / null 2>&1

[@ Postgresのスクリプトローカルホスト]よりinsert_data.sh $
#!/ binに/ bashの
。/ etc / profileを
。〜/ .bash_profileの
エコーA >> / tmpに/ A.TXT
のpsql -h localhostの-d -UのPostgres db_hxl << EOF
SELECT sp_insert_data( );
EOF

 

おすすめ

転載: www.cnblogs.com/hxlasky/p/12356263.html