sql >> Database teknologi >  >> RDS >> Oracle

identificere forskel fra NUMBER(5) og NUMBER(8,2) USER_TAB_COLUMNS

Der er data_precision og data_scale kolonner der.
Kig venligst på dette eksempel:

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

REDIGER

For at finde primære nøglekolonner skal du forbinde to ordbogsvisninger, se venligst nedenstående eksempel:

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. Type mismatch:kan ikke konvertere fra java.util.Date til java.sql.Date

  2. Sådan opdateres databasen automatisk efter sessionen er udløbet uden at opdatere på min side

  3. Hvorfor er det ikke så nemt som en kage at forespørge i en JDBC-kompatibel database fra Oracle?

  4. Er MariaDB JDBC-driveren påvirket af Log4j-sårbarheden?