Advertisement
CosminVarlan

Untitled

May 15th, 2019
1,448
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.79 KB | None | 0 0
  1.  
  2. CREATE OR REPLACE FUNCTION getType(v_rec_tab DBMS_SQL.DESC_TAB, v_nr_col int) RETURN VARCHAR2 AS
  3.   v_tip_coloana VARCHAR2(200);
  4.   v_precizie VARCHAR2(40);
  5. BEGIN
  6.      CASE (v_rec_tab(v_nr_col).col_type)
  7.         WHEN 1 THEN v_tip_coloana := 'VARCHAR2'; v_precizie := '(' || v_rec_tab(v_nr_col).col_max_len || ')';
  8.         WHEN 2 THEN v_tip_coloana := 'NUMBER'; v_precizie := '(' || v_rec_tab(v_nr_col).col_precision || ',' || v_rec_tab(v_nr_col).col_scale || ')';
  9.         WHEN 12 THEN v_tip_coloana := 'DATE'; v_precizie := '';
  10.         WHEN 96 THEN v_tip_coloana := 'CHAR'; v_precizie := '(' || v_rec_tab(v_nr_col).col_max_len || ')';
  11.         WHEN 112 THEN v_tip_coloana := 'CLOB'; v_precizie := '';
  12.         WHEN 113 THEN v_tip_coloana := 'BLOB'; v_precizie := '';
  13.         WHEN 109 THEN v_tip_coloana := 'XMLTYPE'; v_precizie := '';
  14.         WHEN 101 THEN v_tip_coloana := 'BINARY_DOUBLE'; v_precizie := '';
  15.         WHEN 100 THEN v_tip_coloana := 'BINARY_FLOAT'; v_precizie := '';
  16.         WHEN 8 THEN v_tip_coloana := 'LONG'; v_precizie := '';
  17.         WHEN 180 THEN v_tip_coloana := 'TIMESTAMP'; v_precizie :='(' || v_rec_tab(v_nr_col).col_scale || ')';
  18.         WHEN 181 THEN v_tip_coloana := 'TIMESTAMP' || '(' || v_rec_tab(v_nr_col).col_scale || ') ' || 'WITH TIME ZONE'; v_precizie := '';
  19.         WHEN 231 THEN v_tip_coloana := 'TIMESTAMP' || '(' || v_rec_tab(v_nr_col).col_scale || ') ' || 'WITH LOCAL TIME ZONE'; v_precizie := '';
  20.         WHEN 114 THEN v_tip_coloana := 'BFILE'; v_precizie := '';
  21.         WHEN 23 THEN v_tip_coloana := 'RAW'; v_precizie := '(' || v_rec_tab(v_nr_col).col_max_len || ')';
  22.         WHEN 11 THEN v_tip_coloana := 'ROWID'; v_precizie := '';
  23.         WHEN 109 THEN v_tip_coloana := 'URITYPE'; v_precizie := '';
  24.       END CASE;
  25.       RETURN v_tip_coloana||v_precizie;
  26. END;
  27. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement