Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/12/2009, 12:13
Avatar de ah_puch
ah_puch
 
Fecha de Ingreso: agosto-2005
Ubicación: Ecatepec, México
Mensajes: 180
Antigüedad: 18 años, 8 meses
Puntos: 3
Respuesta: alterar tabla desde un sp

ya encontre como se hace... aqui les paso el tip por si a alguien mas le sucede... si exite una forma mas optima que la que presentento a continuacion me agradaria que me lo hicieran saber...

Código:
CREATE OR REPLACE 
PROCEDURE SP_ADD_COLUMNAS (TABLE_NAME IN VARCHAR2,
                                                      COL_NAME IN VARCHAR2,
                                                      COL_TYPE IN VARCHAR2,
                                                      IS_NULL IN NVARCHAR2 DEFAULT 'YES') IS 
BEGIN

/* MODIFICA LAS COLUMNAS DE UNA TABLA 
    SP_ADD_COLUMNAS (NOMBRE DE LA TABLA, 
                                      NOMBRE DE LA NUEVA COLUMNA, 
                                     TIPO DE DATO, 
                                     ACEPTA NULOS (YES/ NO))
    DONDE:
     SI NO SE CAPTURA DATO ALGUNO EN CAMPO IS_NULL POR DE DEFECTO SERA "YES" ES DECIR EL CAMPO 
     CREADO ACEPTARA DATOS NULOS DE LO CONTRARIO SI SE CAPTURA COMO "NO" ESE CAMPO NO ACEPTARA
     VALORES NULOS
*/
  IF is_null <> 'NO' THEN 
  /*ACLARACION!!!!!: ESTE IF ESTA MARCADO COMO DIFERENTE DE NO PARA EN DADO CASO DE UN MAL 
                     TECLEO CREE LA COLUMNA ACEPTADO NULOS
  */
     Execute Immediate('ALTER TABLE ' || TABLE_NAME || 
                       ' ADD (' || COL_NAME || ' ' || COL_TYPE || ' NULL )');
  ELSE 
     Execute Immediate('ALTER TABLE ' || TABLE_NAME || 
                        ' ADD (' || COL_NAME || ' ' || COL_TYPE || ' NOT NULL )');
  END IF;
END;
nuevamente de ante mano gracias!!
__________________
La programacion no es un trabajo, es un Arte
http://www.purodev.blogspot.com

Última edición por ah_puch; 07/12/2009 a las 13:17