Problem solve Get help with specific problems with your technologies, process and projects.

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 last published in March 2002

Dig Deeper on Using Oracle PL-SQL

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.

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.