Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Varchar & Varchar2 in Stored procedure

 
Michelle Joe
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have created this stored procedure in Oracle:

CREATE OR REPLACE PROCEDURE get_product_code(prod_number IN VARCHAR) IS
CURSOR Get_code IS
<my_query_goes_here>
BEGIN
For Get_code_cur IN Get_code LOOP
DBMS_OUTPUT.PUT_LINE(Get_code_cur.name);
END LOOP;
END;


However, when i use SQL*Plus to view my stored procedure (command-->desc get_product_code'), i encountered the following:

Argument Name Type In/Out Default?
-------------------------- ------------------ ------ --------
PROD_NUMBER VARCHAR2 IN

I am curious why the type of the input parameter has been changed from VARCHAR to VARCHAR2?
 
Adeel Ansari
Ranch Hand
Posts: 2874
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
may be it is deprecated. applying guess
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34837
369
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
As of Oracle 8, VARCHAR and VARCHAR2 are the same. However Oracle recommends using VARCHAR2 because VARCHAR may change in the future.

I'm not sure why it is changing it automatically for you though.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic