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

TYPE नाम के कॉलम का नाम बदलें, sqlplus में LEVEL

स्तर एक Oracle कीवर्ड है , हालांकि आरक्षित नहीं है। यदि आप इसे किसी ऑब्जेक्ट नाम के रूप में उपयोग करना चाहते हैं तो आपको किसी ऑब्जेक्ट के नाम को उद्धृत पहचानकर्ता के साथ प्रस्तुत करना होगा दोहरे उद्धरण चिह्नों . का उपयोग करके जब भी आप उस वस्तु का उल्लेख करते हैं।

SQL> SELECT keyword, reserved FROM V$RESERVED_WORDS WHERE keyword='LEVEL';

KEYWORD                        R
------------------------------ -
LEVEL                          N

SQL>

यही कारण है कि यदि आप LEVEL कीवर्ड का उपयोग गैर-उद्धृत पहचानकर्ता . के रूप में करते हैं , यह एक त्रुटि देगा:

SQL> CREATE TABLE t(level NUMBER);
CREATE TABLE t(level NUMBER)
               *
ERROR at line 1:
ORA-00904: : invalid identifier

अब, डेटाबेस ऑब्जेक्ट नाम और क्वालिफायर के बारे में दस्तावेज़ीकरण के अनुसार , यदि आप दोहरे उद्धरण चिह्नों का उपयोग करके वस्तु बनाते हैं, तो वह केस संवेदनशील . बन जाती है और हमेशा उसी तरह इस्तेमाल किया जाना चाहिए जहां भी वस्तु का संदर्भ दिया गया हो।

उदाहरण के लिए,

SQL> CREATE TABLE t1("level" NUMBER);

Table created.

SQL>
SQL> ALTER TABLE t1 RENAME COLUMN "level" to clevel;

Table altered.

SQL>
SQL> CREATE TABLE t2("LEVEL" NUMBER);

Table created.

SQL>
SQL> ALTER TABLE t2 RENAME COLUMN "LEVEL" to clevel;

Table altered.

SQL>

कीवर्ड का उपयोग न करना और उचित नामकरण परंपरा देना बेहतर है।

SQL> CREATE TABLE t(clevel NUMBER);

Table created.

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. XML को fn के साथ लोड करने के बाद क्वेरी परिणामों को विभाजित करें:Oracle तालिका में स्ट्रिंग-जॉइन करें

  2. oracle10g में संदर्भ कर्सर का उपयोग करके रिकॉर्ड गिनती कैसे प्राप्त करें

  3. जावा संग्रहित प्रक्रिया बनाम पीएल/एसक्यूएल संग्रहित प्रक्रिया

  4. आरएमएएन बैकअप कमांड

  5. ORA-00942:टेबल या व्यू मौजूद नहीं है... क्या मुझे और जानकारी मिल सकती है?