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

Ubah nama kolom tabel menjadi huruf besar di postgres

Sebelum saya menjelaskan cara melakukannya, saya akan sangat menyarankan untuk TIDAK melakukan itu.

Di PostgreSQL, jika nama tabel atau kolom tidak diberi tanda kutip, seperti:

SELECT Name FROM MyTable WHERE ID = 10

Mereka sebenarnya secara otomatis dilipat menjadi huruf kecil pertama, jadi query di atas identik dengan:

SELECT name FROM mytable WHERE id = 10

Jika Anda mengubah semua nama menjadi huruf besar, pernyataan ini TIDAK akan berfungsi :

SELECT NAME FROM MYTABLE WHERE ID = 10

Anda harus mengutip dua kali setiap nama dalam kueri ini untuk membuatnya berfungsi:

SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10

Sebaliknya, jika Anda menggunakan perjanjian standar hanya huruf kecil PostgreSQL, Anda dapat menggunakan kombinasi huruf apa saja dan itu akan berfungsi selama Anda tidak mengutip nama apa pun.

Sekarang, jika Anda masih bersikeras untuk mengonversi ke huruf besar, Anda dapat melakukannya dengan membuang skema database Anda ke dalam file menggunakan pg_dump --schema-only .

Setelah Anda selesai melakukannya, periksa semua CREATE TABLE pernyataan dan buat ALTER TABLE yang sesuai pernyataan berdasarkan dump ini - Anda harus menulis beberapa skrip (Perl atau Python) untuk melakukannya.

Atau, Anda dapat membaca INFORMATION_SCHEMA.TABLES dan/atau INFORMATION_SCHEMA.COLUMNS dan juga membuat dan menjalankan ALTER TABLE yang sesuai pernyataan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendapatkan kesalahan otentikasi gagal dengan postgresql dari baris perintah

  2. Variabel yang ditentukan pengguna di PostgreSQL

  3. PostgreSQL Tidak Ada fungsi Peningkatan Otomatis?

  4. Perbandingan tanggal di PostgreSQL

  5. PG::Error:SELECT DISTINCT, ORDER BY ekspresi harus muncul di daftar pilih