Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Menggunakan Pembolehubah dengan Berkesan dalam psql PostgreSQL?

Bagaimanakah Saya Menggunakan Pembolehubah dengan Berkesan dalam psql PostgreSQL?

DDD
DDDasal
2025-01-15 11:20:44108semak imbas

How Do I Effectively Use Variables in PostgreSQL's psql?

Menggunakan pembolehubah skrip dalam psql PostgreSQL

Cara skrip tersuai menggunakan pembolehubah dalam PostgreSQL adalah berbeza daripada MS SQL Server. Dalam psql, gunakan perintah set untuk mencipta pembolehubah:

<code class="language-sql">\set myvariable value</code>

Untuk menggantikan pembolehubah dalam pertanyaan, gunakan sintaks berikut:

<code class="language-sql">SELECT * FROM :myvariable.table1;</code>

Sebagai alternatif, anda boleh menggunakannya dalam pernyataan bersyarat:

<code class="language-sql">SELECT * FROM table1 WHERE :myvariable IS NULL;</code>

Bermula dengan psql 9.1, pembolehubah boleh dikembangkan dalam petikan:

<code class="language-sql">\set myvariable value
SELECT * FROM table1 WHERE column1 = :'myvariable';</code>

Dalam versi sebelum psql 9.1, apabila menggunakan pembolehubah dalam pertanyaan rentetan bersyarat, contohnya:

<code class="language-sql">SELECT * FROM table1 WHERE column1 = ':myvariable';</code>

Perlu memasukkan petikan di sekitar pembolehubah itu sendiri:

<code class="language-sql">\set myvariable 'value'</code>

Untuk manipulasi rentetan, pertimbangkan petua berikut:

<code class="language-sql">\set quoted_myvariable '\'' :myvariable '\''</code>

Ini mencipta pembolehubah yang disebut dan tidak disebut daripada rentetan yang sama, membolehkan anda melakukan perkara berikut:

<code class="language-sql">INSERT INTO :myvariable.table1 SELECT * FROM table2 WHERE column1 = :quoted_myvariable;</code>

Atas ialah kandungan terperinci Bagaimanakah Saya Menggunakan Pembolehubah dengan Berkesan dalam psql PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn