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

Bagaimana cara mendeklarasikan variabel lokal di postgresql?

Postgresql secara historis tidak mendukung kode prosedural pada tingkat perintah - hanya dalam fungsi. Namun, di Postgresql 9, dukungan telah ditambahkan untuk mengeksekusi blok kode inline yang secara efektif mendukung sesuatu seperti ini, meskipun sintaksnya mungkin agak aneh, dan ada banyak batasan dibandingkan dengan apa yang dapat Anda lakukan dengan SQL Server. Khususnya, blok kode sebaris tidak dapat mengembalikan kumpulan hasil, jadi tidak dapat digunakan untuk apa yang Anda uraikan di atas.

Secara umum, jika Anda ingin menulis beberapa kode prosedural dan mengembalikan hasilnya, Anda harus memasukkannya ke dalam suatu fungsi. Misalnya:

CREATE OR REPLACE FUNCTION somefuncname() RETURNS int LANGUAGE plpgsql AS $$
DECLARE
  one int;
  two int;
BEGIN
  one := 1;
  two := 2;
  RETURN one + two;
END
$$;
SELECT somefuncname();

Protokol kawat PostgreSQL tidak, sejauh yang saya tahu, mengizinkan hal-hal seperti perintah yang mengembalikan beberapa set hasil. Jadi Anda tidak bisa begitu saja memetakan kumpulan T-SQL atau prosedur tersimpan ke fungsi PostgreSQL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat terhubung ke PostgreSQL lokal

  2. Refactor kunci asing ke bidang

  3. Hasilkan n baris NULL di PostgreSQL

  4. perbedaan antara localhost dan postgres untuk Host di buruh pelabuhan

  5. Cara menemukan catatan duplikat di PostgreSQL