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

Chính xác thì dấu ngoặc kép xung quanh tên bảng làm gì?

Đặt dấu ngoặc kép xung quanh một số nhận dạng trong Oracle khiến Oracle coi số nhận dạng đó là phân biệt chữ hoa chữ thường thay vì sử dụng mặc định là phân biệt chữ hoa chữ thường. Nếu bạn tạo một bảng (hoặc một cột) có dấu ngoặc kép xung quanh tên, bạn phải luôn tham chiếu đến số nhận dạng có dấu ngoặc kép và bằng cách chỉ định chính xác trường hợp (ngoại trừ tất cả các từ định danh viết hoa, trong đó dấu ngoặc kép là vô nghĩa ).

Về cơ bản, Oracle luôn thực hiện đối sánh mã định danh phân biệt chữ hoa chữ thường. Nhưng nó luôn chuyển các số nhận dạng không được trích dẫn kép thành chữ hoa trước khi thực hiện đối sánh. Nếu bạn đặt dấu ngoặc kép xung quanh một số nhận dạng, Oracle sẽ bỏ qua việc chuyển thành chữ hoa.

Vì vậy, nếu bạn làm điều gì đó như

CREATE TABLE my_table( 
  col1 number,
  col2 number
)

bạn có thể

SELECT * FROM my_table
SELECT * FROM MY_TABLE
SELECT * FROM My_Table
SELECT * FROM "MY_TABLE"

nhưng một cái gì đó giống như

SELECT * FROM "my_table" 

sẽ thất bại.

Mặt khác, nếu bạn làm điều gì đó như

CREATE TABLE "my_other_table"( 
  col1 number,
  col2 number
)

bạn không thể làm

SELECT * FROM my_other_table
SELECT * FROM MY_OTHER_TABLE
SELECT * FROM My_Other_Table
SELECT * FROM "MY_OTHER_TABLE"

nhưng cái này

SELECT * FROM "my_other_table" 

sẽ hoạt động



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Số hàng bị ảnh hưởng bởi CẬP NHẬT trong PL / SQL

  2. Chuyển đổi chữ số / số bằng từ sang tiền tệ INR (Rupee Ấn Độ) trong Oracle PL / SQL

  3. Phương pháp thu thập:Hàm COUNT trong cơ sở dữ liệu Oracle

  4. Sử dụng Dapper với các thủ tục được lưu trữ của Oracle trả về con trỏ

  5. Khôi phục tệp trình soạn thảo SQL (Truy vấn, thủ tục) Sau khi bắt cóc đối với sự cố hoặc treo Oracle