Why there is difference of datatype varchar2 in objects like tables and in PL/SQL code like procedures or functions?...
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
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.
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.