Monday, 28 October 2013

An example of Index by varchar2 and fetching values corresponding to it

DECLARE

  TYPE typeParamRec IS RECORD (param param_tbl.param_name%TYPE,
                               value param_tbl.param_value%TYPE);
                             
  TYPE typeParamTab IS TABLE OF typeParamRec
                      INDEX BY VARCHAR2(5);

  Paramtab typeParamTab;

BEGIN

  SELECT param_name, TO_NUMBER(param_value)*id
  INTO Paramtab('High').param, Paramtab('High').value
  FROM  param_tbl
  WHERE risk_class = 'High';

  SELECT param_name, TO_NUMBER(param_value)*id
  INTO Paramtab('Low').param, Paramtab('Low').value
  FROM  param_tbl
  WHERE risk_class = 'Low';

  DBMS_OUTPUT.PUT_LINE
          ('High & '||Paramtab('High').param  ||' & '||Paramtab('High').value);
  DBMS_OUTPUT.PUT_LINE
          ('Low & '||Paramtab('Low').param  ||' & '||Paramtab('Low').value);

END;

No comments:

Post a Comment