Character types, PL-SQL Programming

Assignment Help:

ROWID and UROWID

Internally, every database table has a ROWID pseudo column that stores binary values known as rowids. Each rowid shows the storage address of a row. A physical rowid identify a row in an ordinary table. A logical rowid identify a row in an index-organized table. The ROWID datatype can store only physical rowids. Thgough, the UROWID (the universal rowid) datatype can store logical,physical, or foreign (non-Oracle) rowids.

Physical Rowids

The Physical rowids provide a fast access to the particular rows. As long as the row exists, its physical rowid does not change. The Efficient & stable, physical rowids are very useful for selecting a set of rows, operating on the entire set, and then updating a subset. For e.g. , you can compare a UROWID variable with the ROWID pseudocolumn in the WHERE clause of an UPDATE or DELETE statement to identify the newest row fetched from a cursor.

Logical Rowids

The Logical rowids provide the fastest access to the particular rows. The Oracle uses them to construct the secondary indexes on index-organized tables. Having no permanent physical address, a logical rowid can move across the data blocks when new rows are inserted. Though, if the physical location of a row changes, its logical rowid remain valid.

VARCHAR2

You use the VARCHAR2 datatype to store the variable-length character data. How the data is represented internally is totally depend on the database character set. The VARCHAR2 datatype takes a required parameter that specifies the maximum length of up to 32767 bytes. The syntax is as shown below:

VARCHAR2(maximum_length)

You cannot use a constant or variable to specify the highest length; you should use an integer literal in the range 1 to 32767.

The VARCHAR2 datatype includes a trade-off between efficiency and memory use. For a VARCHAR2(>= 2000) variable, the PL/SQL dynamically allocates only enough memory to hold the actual value. Though, for a VARCHAR2 (< 2000) variable, the PL/SQL pre allocates enough memory to hold a maximum-size value.

VARCHAR2 Subtypes

The VARCHAR2 subtypes shown below have the same range of values as their base type. For illustration, the VARCHAR is just another name for VARCHAR2.

STRING

VARCHAR

NLS Character Types

Though the widely used 7- or 8-bit ASCII and EBCDIC character sets are sufficient to represent the Roman alphabet, some Asian languages, like Japanese, contain many characters. These languages need 16 bits (two bytes) to represent each character. How does Oracle deal with such unlike languages?

The Oracle provides National Language Support (NLS) that process single-byte & multi-byte character data and convert between the character sets. It also lets your applications run in various language environments.

NCHAR

You use the NCHAR datatype to store the fixed-length NLS character data. How the data is represented internally, totally depends on the national character set, which might use a fixed-width encoding like US7ASCII or a variable-width encoding like JA16SJIS. The NCHAR datatype takes an optional parameter that specifies the highest length of up to 32767 bytes. The syntax is as shown below:

NCHAR[(maximum_length)]

You cannot use a variable or constant to specify the maximum length; you must use an integer literal in the range 1 to 32767.

NVARCHAR2

You use the NVARCHAR2 datatype to store the variable-length NLS character data. How the data is represented internally totally depends on the national character set, that might use a fixed-width encoding like WE8EBCDIC37C or a variable-width encoding like JA16DBCS. The NVARCHAR2 datatype takes a required parameter which specifies a maximum length of up to 32767 bytes. The syntax is as shown below:

NVARCHAR2(maximum_length)

You cannot use a variable or constant to specify the maximum length; you must use an integer literal in the range 1 to 32767.


Related Discussions:- Character types

Components of an object type - parameter self, Parameter SELF in pl/sql ...

Parameter SELF in pl/sql The MEMBER methods recognize a built-in parameter named SELF that is an instance of the object type. Whether declared explicitly or implicitly, it is

Example of tables within a table - sql, Example of Tables within a Table - ...

Example of Tables within a Table - SQL Example: Obtaining C_ER from COURSE and EXAM_MARK SELECT CourseId, CAST (TABLE (SELECT DISTINCT StudentId, Mark FROM EXAM_MARK AS EM

What is a collection, What Is a Collection The collection is an ordered...

What Is a Collection The collection is an ordered group of elements, all of similar type (for e.g. the grades for a class of students). Each element has a unique subscript whic

Loop statements, LOOP Statements The LOOP statements execute a series o...

LOOP Statements The LOOP statements execute a series of statements at multiple times. The loops enclose the series of statements that is to be repeated. The PL/SQL provides typ

Cursor for loops, Cursor FOR Loops In most cases that need an explicit ...

Cursor FOR Loops In most cases that need an explicit cursor, you can simplify the coding by using a cursor FOR loop rather of the OPEN, FETCH, and CLOSE statements. A cursor FO

Varrays versus nested tables, Varrays versus Nested Tables The Nested ta...

Varrays versus Nested Tables The Nested tables are differing from varrays in the following ways: 1)  Varrays have a maximum size, while nested tables do not. 2)  Varrays are

Using host arrays - bulk bind performance improvement, Using Host Arrays ...

Using Host Arrays The Client-side programs can use anonymous PL/SQL blocks to bulk-bind input and output host arrays. However, this is the well-organized way to pass the colle

Parameter and keyword description - loop statements, Parameter and Keyword ...

Parameter and Keyword Description: label_name: This is an undeclared identifier which optionally labels a loop. When used, the label_name should be enclosed by double ang

Constants and variables in pl sql, Constants and Variables:   You can...

Constants and Variables:   You can declare the constants and variables in the declarative section of any PL/SQL subprogram, block, or package. The Declarations allot the stor

Use of count in sql, Use of COUNT in SQL It describes and discusses va...

Use of COUNT in SQL It describes and discusses various general methods of expressing constraints, eventually noting that support for "=" with relation operands is sufficient f

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd