PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Argumen Baris Perintah PSQL dalam skrip DO

Karena blok PL sebenarnya adalah konstanta teks dalam kode, variabel internal tidak diganti di dalamnya dengan cara biasa. Untungnya dimungkinkan untuk menggunakan variabel sesi untuk berbagi data antara blok SQL/PL yang berbeda:

set foo.bar to :v1; -- Name should contains the dot, don't ask me why 
show foo.bar; -- Check that the value was assigned 
do $$
declare
  myvar text := current_setting('foo.bar');
begin
  raise info '%', myvar; -- Output variable value
end $$;

Untuk memastikan bahwa variabel ditetapkan dan atur nilai default jika tidak:

\if :{?v1}
  set foo.bar to :v1;
\else
  set foo.bar to 'default';
\endif

Detail selengkapnya:
https://www.postgresql.org/docs/current/app-psql.html#PSQL-METACOMMAND-IFhttps://www.postgresql.org/docs/current/app-psql.html #APP-PSQL-INTERPOLATION



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mencadangkan dan Memulihkan Basis Data PostgreSQL

  2. instal permata pg tidak berfungsi di OSX Lion

  3. connection.select_value hanya mengembalikan string di postgres dengan permata pg

  4. Rails 3, ActiveRecord, PostgreSQL - perintah .uniq tidak berfungsi?

  5. Hasilkan DDL secara terprogram di Postgresql