Q

Details of varchar2 in the DBMS vs. PL/SQL

Why there is difference of datatype varchar2 in objects like tables and in PL/SQL code like procedures or functions? As you know, the size of varchar2 is 4000 for objects like tables, and it is 32767 in PL/SQL.

It is simply a feature of PL/SQL that allows you to datatype variables to a maximum value of 32767, while RDBMS character maximums are set much lower. Since PL/SQL would be using a varchar2 to type a variable which will only have scope for the life of the PL/SQL block in which it is declared, we are allowed to create a much larger "memory type" than if we were creating a column in a table which will require permanent storage.

For More Information

  • What do you think about this answer? E-mail the editors at editor@searchDatabase.com with your feedback.
  • The Best Oracle Web Links: tips, tutorials, scripts, and more.
  • Have an Oracle or SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
  • Ask your technical Oracle and SQL questions -- or help out your peers by answering them -- in our live discussion forums.
  • Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.

This was first published in March 2002

Dig deeper on Using Oracle PL-SQL

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchDataManagement

SearchBusinessAnalytics

SearchSAP

SearchSQLServer

TheServerSide

SearchDataCenter

SearchContentManagement

SearchFinancialApplications

Close