Oracle Comments selektieren und an eine andere Tabelle übertragen
PROCEDURE

CREATE OR REPLACE PROCEDURE ADD_COMMENTS IS
BEGIN
 DECLARE
 TABREAD           varchar2(50)   := 'hier Quele Tabellename';
 TABOWNER          varchar2(50)   := 'hier Tabelle Owner';
 TABADD            varchar2(50)   := 'hier Ziel Tabellename';
 PRCEXEC           varchar2(2000);

 CURSOR CUR_SEL_CM IS select 'comment on column '||TABADD||'.'||COLUMN_NAME||' is '''||COMMENTS||''''
    from sys.all_col_comments
       where OWNER = TABOWNER
       and TABLE_NAME = TABREAD
       and COMMENTS is not NULL;

 BEGIN

 OPEN CUR_SEL_CM;
 LOOP
   PRCEXEC := '';
   EXIT WHEN CUR_SEL_CM%NOTFOUND;
   FETCH CUR_SEL_CM INTO PRCEXEC;
   EXECUTE IMMEDIATE PRCEXEC;
   --dbms_output.put_line(PRCEXEC);
   commit;
 END LOOP;

 EXCEPTION
  WHEN others THEN
  dbms_output.put_line(SQLERRM);
 END;
END ADD_COMMENTS;
/
    

Kopieren