Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

तालिका में स्तंभ प्रकार बदलें

आपको फ़ंक्शन आधारित अद्वितीय अनुक्रमणिका की आवश्यकता है:

create table tt (
  DealID number(10) primary key,
  LegID number(10),
  OrigID number(10),
  Description varchar2(200 char)
);
create unique index tt_leg_orig_dscr_uk on tt (
  case when description = 'A' then description end,
  case when description = 'A' then legid end,
  case when description = 'A' then origid end
);

insert into tt values (1, 1, 1, 'A');
1 row(s) inserted.

insert into tt values (2, 1, 1, 'A');
ORA-00001: unique constraint (XXXXX.TT_LEG_ORIG_DSCR_UK) violated

insert into tt values (2, 1, 2, 'A');
1 row(s) inserted.

select * from tt;
DEALID  LEGID   ORIGID  DESCRIPTION
-----------------------------------
    1       1        1           A
    2       1        2           A
2 rows returned in 0.01 seconds

insert into tt values (3, 1, 1, 'B');
1 row(s) inserted.

insert into tt values (4, 1, 1, 'B');
1 row(s) inserted.

select * from tt order by 1;

DEALID  LEGID   ORIGID  DESCRIPTION
-----------------------------------
     1      1        1           A
     2      1        2           A
     3      1        1           B
     4      1        1           B
4 rows returned in 0.01 seconds 

जैसा कि आप देख सकते हैं, अद्वितीय अनुक्रमणिका केवल विवरण ='ए' के ​​साथ रिकॉर्ड के साथ काम करती है, यह विभिन्न विवरणों के लिए गैर-अद्वितीय रिकॉर्ड रखने की अनुमति देती है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL में दो कॉलम पिवोटिंग

  2. Oracle sql में तालिका 1 से तालिका 2 में आईडी कैसे अपडेट करें?

  3. Node.js को Windows प्लेटफॉर्म पर Oracle से कनेक्ट करें

  4. डायना नोड शब्द के साथ कौन आया था और उन्होंने 6,000,000 एलओसी का आंकड़ा लगभग 67108864 (2**26) डायना नोड्स कैसे लगाया?

  5. ग्रोवी एसक्यूएल ओरेकल ऐरे फंक्शन/प्रक्रिया आउट पैरामीटर पंजीकरण