Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.73 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Script para obtener los comentariso de las tablas y de las columnas de la bd.
  4.  * @author Jorge Ivan Franco Hoyos - jorgeun@gmail.com
  5.  * @Fecha  Julio 23 de 2009
  6.  *
  7.  * @copyright Almera - Information Management LTDA.
  8.  * @package SGI
  9.  *
  10.  * @version 1.0
  11.  */
  12.  
  13. include('../../conexion.php');
  14.  
  15. /**
  16.  * Función para obtener los comentarios de las tablas
  17.  * @author Jorge Ivan Franco Hoyos - jorgeun@gmail.com
  18.  * @Fecha  Julio 23 de 2009
  19.  *
  20.  * @return $comentarios | false
  21.  */
  22. function obtenerComentariosTablas()
  23. {
  24.     $sql="SELECT tablename,relfilenode,obj_description(oid)
  25.             FROM pg_tables,pg_class
  26.             WHERE tablename not like 'pg_%' and tablename not like 'sql_%' and schemaname='sig' and tablename=relname ORDER BY tablename";
  27.     $rs=$GLOBALS['con']->Execute($sql) or sqlexc($sql);
  28.     if($rs->RecordCount()>0)
  29.     {
  30.         while (!$rs->EOF)
  31.         {
  32.             $comentarios[]=array('tabla'=>$rs->fields['tablename'],'comentario'=>$rs->fields['obj_description']);
  33.             $rs->MoveNext();
  34.         }
  35.         return $comentarios;
  36.     }
  37.     return false;
  38.    
  39. }
  40.  
  41. /**
  42.  * Función para obtener los comentarios de las columnas
  43.  * @author Jorge Ivan Franco Hoyos - jorgeun@gmail.com
  44.  * @Fecha  Julio 23 de 2009
  45.  *
  46.  * @return $comentarios | false
  47.  */
  48. function obtenerComentariosColumnas()
  49. {
  50.     $sql="SELECT attname ,col_description(attrelid,attnum), tablename
  51.         FROM pg_attribute, pg_class, pg_tables
  52.             WHERE pg_attribute.attrelid = pg_class.oid
  53.             AND pg_class.relname = pg_tables.tablename
  54.             AND pg_class.relkind='r'
  55.             AND attname ILIKE 'fld%'
  56.             AND schemaname='sig'
  57.         ORDER BY tablename";
  58.     $rs=$GLOBALS['con']->Execute($sql) or sqlexc($sql);
  59.     if($rs->RecordCount()>0)
  60.     {
  61.         while (!$rs->EOF)
  62.         {
  63.             $comentarios[]=array('columna'=>$rs->fields['attname'],'comentario'=>$rs->fields['col_description'],'tabla'=>$rs->fields['tablename']);
  64.             $rs->MoveNext();
  65.         }
  66.         return $comentarios;
  67.     }
  68.     return false;
  69. }
  70.  
  71. $comentarios_tab=obtenerComentariosTablas();//Comentarios de las tablas
  72. $comentarios_col=obtenerComentariosColumnas();//Comentarios de las columnas
  73.  
  74. //Se listan los query listo para ser ejecutados en la motor de la bd.
  75.  
  76. echo '<br> --Comentarios de las Tablas <br>';
  77. //se muestran los comentarios de las tablas
  78. if($comentarios_tab)
  79. {  
  80.     foreach ($comentarios_tab as $comentario_tab)
  81.     {
  82.         echo 'COMMENT ON TABLE '. $comentario_tab['tabla'].' IS '.'\''.$comentario_tab['comentario'].'\';';
  83.         echo '<br>';
  84.     }
  85. }
  86.  
  87. echo '<br> --Comentarios de las Columnas <br>';
  88. //se muestran los comentarios de las columnas
  89. if($comentarios_col)
  90. {  
  91.     foreach ($comentarios_col as $comentario_col)
  92.     {
  93.         echo 'COMMENT ON COLUMN '. $comentario_col['tabla'].'.'.$comentario_col['columna'].' IS '.'\''.$comentario_col['comentario'].'\';';
  94.         echo '<br>';
  95.     }
  96. }
  97. echo '<br>';
  98. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement