Why there is difference of datatype varchar2 in objects like tables and in PL/SQL code like procedures or functions?...
By submitting your email address, you agree to receive emails regarding relevant topic offers from TechTarget and its partners. You can withdraw your consent at any time. Contact TechTarget at 275 Grove Street, Newton, MA.
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.