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

Bagaimana Anda menggunakan variabel skrip di psql?

Variabel Postgres dibuat melalui perintah \set, misalnya ...

\set myvariable value

... dan kemudian dapat diganti, misalnya, sebagai ...

SELECT * FROM :myvariable.table1;

... atau ...

SELECT * FROM table1 WHERE :myvariable IS NULL;

edit:Pada psql 9.1, variabel dapat diperluas dalam tanda kutip seperti pada:

\set myvariable value 

SELECT * FROM table1 WHERE column1 = :'myvariable';

Dalam versi klien psql yang lebih lama:

... Jika Anda ingin menggunakan variabel sebagai nilai dalam kueri string bersyarat, seperti ...

SELECT * FROM table1 WHERE column1 = ':myvariable';

... maka Anda perlu memasukkan tanda kutip dalam variabel itu sendiri karena di atas tidak akan berfungsi. Alih-alih mendefinisikan variabel Anda seperti itu ...

\set myvariable 'value'

Namun, jika, seperti saya, Anda mengalami situasi di mana Anda ingin membuat string dari variabel yang ada, saya menemukan triknya adalah ini ...

\set quoted_myvariable '\'' :myvariable '\''

Sekarang Anda memiliki variabel yang dikutip dan tidak dikutip dari string yang sama! Dan Anda dapat melakukan sesuatu seperti ini ....

INSERT INTO :myvariable.table1 SELECT * FROM table2 WHERE column1 = :quoted_myvariable;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengakses file XML eksternal sebagai variabel dalam skrip PSQL (bersumber dari skrip bash)

  2. Hak Istimewa PostgreSQL &Manajemen Pengguna - Yang Harus Anda Ketahui

  3. [Video] Kekuatan Pengindeksan di PostgreSQL

  4. Kelola Pengumpulan Koneksi di aplikasi web multi-penyewa dengan Spring, Hibernate, dan C3P0

  5. Bagaimana to_timestamp() Bekerja di PostgreSQL