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

xác định sự khác biệt so với NUMBER (5) và NUMBER (8,2) USER_TAB_COLUMNS

data_precisiondata_scale ở đó.
Vui lòng xem ví dụ sau:

create table qwer(
  x number,
  y number(8,2),
  z number(5,0),
  a int,
  b decimal(5,3)
);

SELECT column_name, data_type, data_precision, data_scale
FROM USER_TAB_COLUMNS
WHERE Table_name = 'QWER'
;

COLUMN_NAME   DATA_TYPE DATA_PRECISION DATA_SCALE
------------- --------- -------------- ----------
B             NUMBER     5             3
A             NUMBER
X             NUMBER         
Y             NUMBER     8             2
Z             NUMBER     5             0

CHỈNH SỬA

Để tìm các cột khóa chính bạn cần nối hai chế độ xem từ điển, vui lòng xem ví dụ dưới đây:

CREATE TABLE pk1(
  id int primary key,
  name varchar2(10)
);

CREATE TABLE pk2(
  id int ,
  pk1 number(10,0),
  pk2 varchar2(5),
  name varchar2(10),
  constraint my_composite_pk primary key (id, pk1, pk2 )
);

SELECT c.table_name, cols.column_name, cols.position 
FROM user_constraints c
JOIN USER_CONS_COLUMNS cols
USING ( CONSTRAINT_NAME )
WHERE c.table_name IN ('PK1', 'PK2' )
  and c.constraint_type = 'P' /* P - means PRIMARY KEY */
ORDER BY 1,3
; 

TABLE_NAME COLUMN_NAME   POSITION
---------- ----------- ----------
PK1        ID                   1
PK2        ID                   1
PK2        PK1                  2
PK2        PK2                  3


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể tải tệp hoặc lắp ráp cho Oracle.DataAccess trong .NET

  2. Làm cách nào để trả về nhiều hàng giống hệt nhau dựa trên trường số lượng trong chính hàng đó?

  3. Khai báo mảng động trong Oracle PL / SQL

  4. Oracle cắt bỏ khoảng trắng ở bên trong chuỗi

  5. Sự khác biệt giữa -Xss và -XX:ThreadStackSize là gì?