Pernyataan COPY dalam Fungsi Pl/Pgsql:
BUAT ATAU GANTI FUNGSI public.copy_data(teks fname) MENGEMBALIKAN integer
AS
$$
deklarasikan
copy_qry teks;
cnt integer;
Mulai
copy_qry :='salin t dari'||quote_literal(fname)||' dengan CSV HEADER;';
Jalankan copy_qry;
GET DIAGNOSTICS cnt =ROW_COUNT;
return cnt;
end;
$$ Language plpgsql;
Rilis sebelumnya:
-bash-4.1$ psql
psql.bin (9.2.3)
Ketik "help" untuk bantuan.
postgres=# pilih copy_data('/usr/ local/pg93beta/t_load.csv');
copy_data
-----------
0
(1 baris)Di PostgreSQL 9.3
-bash-4.1$ ./psql -p 5555
psql (9.3beta1)
Ketik "bantuan" untuk bantuan.
postgres=# pilih copy_data('/ usr/local/pg93beta/t_load.csv');
copy_data
-----------
3
(1 baris)
atau
-bash-4.1$ ./psql -p 5555 -c "pilih copy_data('/usr/local/pg93beta/t_load.csv');"
copy_data
----- ------
3
(1 baris)Terima kasih kepada penulis, ini terlihat sederhana tetapi sangat efektif ketika bekerja dengan memuat data menggunakan skrip dan ingin mengetahui jumlah baris yang diproses oleh pernyataan COPY.