CREATE OR REPLACE PROCEDURE {procedure name} 
( {argument} IN {datatype} ) IS v_variable {datatype}; 
/*Variables types:
	
   VARCHAR(X);
   VARCHAR2(X);
   VARCHAR2;
   CHAR(X);

   NUMBER(P,S);   
   P-Precision is the number of digits.  
   S-Scale is the number digits to 
   the right of the decimal.
   NUMBER(X);
   NUMBER;
   LONG;          
   Holds up to 32,760 bytes of data
   DOUBLE PRECISION;
   FLOAT;
   INT;
   REAL;

   DATE;
   RAW(X) 
   Holds up to 32,760 bytes of data
   LONG RAW; 
   Holds up to 32,760 bytes of data.
   Note the Database field type LONG RAW 
   holds up to 2 gigabytes of data.

   RECORD;
   TABLE;
   VARRAY;

   LOB;
   CLOB;

   v_variable_c1  VARCHAR2(20);            
   Creates a 20 character variable length field
   v_variable_c2  CHAR(10);		    
   Create a 10 character fixed length field
   - max size 255 characters
   v_variable_c3  VARCHAR2;		    
   Variable length not to exceed 2000 characters

   v_variable_n1  table_name.field_name%TYPE;     
   Determine the variable type by referencing 
   its schema table-field type
   v_variable_n2  NUMBER;
   v_variable_n3  NUMBER := 3;
   v_variable_n4  NUMBER(10);
   v_variable_n5  NUMBER(10,2);
   v_variable_n6  LONG;
   v_variable_n7  FLOAT;
   v_variable_n8  REAL;

   TYPE t_my_record IS RECORD
   (
   v_variable1	VARCHAR2(8)
   ,v_variable2 NUMBER(10)
   ,v_variable3 DATE
   );

   my_record t_my_record;

   TYPE t_my_table is TABLE OF VARCHAR2(10)   
   Similar to an array structure 
   in Visual Basic

   INDEX BY BINARY_INTEGER;

   my_table t_my_table;

BEGIN 
   Insert your code here

   v_variable_c1 := 'Hello World';
   v_variable_n2 :=10;

   Conditional Logic

   IF v_variable_n2 = 1 THEN
      v_variable_c2 := 'Exact Match';
   ELSIF v_variable_n3 > 2 THEN
      v_variable_c2 := 'Greater Than Match';
   ELSE
      v_variable_c3 := 'None of the Above';
   END IF;

   my_record.v_variable1:='ABC';
   my_record.v_variable2:=3;
   my_record.v_variable3:=TO_DATE('11-JAN-1999','DD-MON-YYYY');

   my_table(1)='A';
   my_table(2)='B';

      
   v_variable_n2 value is 10 therefore the 
   first condition fails. v_variable_n3 is initialized
   with the value of 3, therefore, the condition is 
   true and a value of 'Greater Than Match'
   is assigned to v_variable_c2.
	

   LOOPS

   v_variable_n2:=0;
   LOOP
      v_variable_n2:=v_variable_n2+1;
      EXIT WHEN v_variable_n2 > 10;
   END LOOP;

   v_variable_n2:=0;
   WHILE v_variable_n2<10 LOOP
      v_variable_n2:=v_variable_n2+1;
   END LOOP;

   FOR v_variable_n2 in 1..10 LOOP

   END LOOP;

END {procedure name};