PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Pl/pgsql फ़ंक्शन में कॉपी स्टेटमेंट के साथ डायग्नोस्टिक प्राप्त करें

अब GET DIAGNOSTIC एक Pl/Pgsql फ़ंक्शन में COPY स्टेटमेंट द्वारा संसाधित पंक्तियों की संख्या लौटाएगा।
Pl/Pgsql फ़ंक्शन में COPY स्टेटमेंट:

CREATE OR REPLACE FUNCTION public.copy_data(fname text) RETURNS integer
AS
$$
declare
copy_qry text;
cnt integer;
Begin
copy_qry := 'copy t from'||quote_literal(fname)||' with CSV HEADER;';
Execute copy_qry;
GET DIAGNOSTICS cnt = ROW_COUNT;
return cnt;
end;
$$ Language plpgsql;

पिछली रिलीज़:

-bash-4.1$ psql
psql.bin (9.2.3)
Type "help" for help.

postgres=# select copy_data('/usr/local/pg93beta/t_load.csv');
copy_data
-----------
0
(1 row)

PostgreSQL 9.3 में

-bash-4.1$ ./psql -p 5555
psql (9.3beta1)
Type "help" for help.

postgres=# select copy_data('/usr/local/pg93beta/t_load.csv');
copy_data
-----------
3
(1 row)
or
-bash-4.1$ ./psql -p 5555 -c "select copy_data('/usr/local/pg93beta/t_load.csv');"
copy_data
-----------
3
(1 row)

लेखक के लिए धन्यवाद, यह स्क्रिप्ट का उपयोग करके डेटा लोड करने के साथ काम करते समय सरल लेकिन बहुत प्रभावी दिखता है और COPY कथन द्वारा संसाधित पंक्तियों की संख्या जानना चाहता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. इंटरमीडिएट टेबल का उपयोग करके पोस्टग्रेज टेबल का विभाजन कैसे करें

  2. PostgreSql 'PDOException' संदेश के साथ 'ड्राइवर नहीं मिल सका'

  3. ऑपरेशनल एरर को कैसे ठीक करें:(psycopg2.OperationalError) सर्वर ने अप्रत्याशित रूप से कनेक्शन बंद कर दिया

  4. कॉलम 'मैरी' मौजूद नहीं है

  5. PostgreSQL में एक स्ट्रिंग को कैसे विभाजित करें