Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm thế nào để đặt tên bảng oracle không phân biệt chữ hoa chữ thường?

[TL; DR] Điều đơn giản nhất cần làm là không bao giờ sử dụng dấu ngoặc kép xung quanh tên đối tượng và chỉ để oracle quản lý phân biệt chữ hoa chữ thường theo cách mặc định của nó.

Cơ sở dữ liệu Oracle, theo mặc định, phân biệt chữ hoa chữ thường; tuy nhiên, theo mặc định, chúng cũng sẽ chuyển đổi mọi thứ thành chữ hoa để phân biệt chữ hoa chữ thường được tóm tắt từ bạn, người dùng.

CREATE TABLE tEsT ( column_name NUMBER );

Sau đó:

SELECT COUNT(*) FROM test;
SELECT COUNT(*) FROM Test;
SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM tEsT;

Tất cả sẽ cho cùng một đầu ra và:

SELECT * FROM USER_TABLES;

Kết quả đầu ra:

TABLE_NAME
----------
TEST 

(Lưu ý tên bảng được viết hoa).

Nếu bạn sử dụng dấu ngoặc kép thì oracle sẽ tôn trọng việc bạn sử dụng chữ hoa và chữ thường trong tên bảng:

CREATE TABLE "tEsT" ( column_name NUMBER );

và:

SELECT * FROM USER_TABLES;

Kết quả đầu ra:

TABLE_NAME
----------
TEST 
tEsT

(Lưu ý:hiện có hai bảng được đặt tên là TESTtEsT và oracle đã tôn trọng độ phân biệt chữ hoa chữ thường của cái thứ hai - cái được tạo bằng dấu ngoặc kép).

(Cũng lưu ý:SELECT * FROM tEsT sẽ chọn từ bảng đầu tiên, đã được chuyển đổi thành chữ hoa, nhưng SELECT * FROM "tEsT" bắt buộc phải chọn từ thứ hai mặc dù các truy vấn giống hệt nhau ngoài các dấu ngoặc kép).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chèn nhiều bản ghi vào Oracle DB bằng Node.js

  2. Oracle tương đương với chức năng STUFF của SQL Server?

  3. Hibernate trên Oracle:ánh xạ thuộc tính String vào cột CLOB

  4. Chuỗi phân tách biểu thức chính quy Oracle từ lần xuất hiện cuối cùng

  5. Cách tính hệ số phân cụm chỉ số Oracle