Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Convertir text a varchar en procedimientos almacenados

Estas en el tema de Convertir text a varchar en procedimientos almacenados en el foro de Mysql en Foros del Web. Hola: He estado avanzando con procedimientos almacenados pero tengo el siguiente problema, debo migrar de una tabla a otra pero que en ambos difieren, sean ...
  #1 (permalink)  
Antiguo 22/10/2012, 10:09
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 2 meses
Puntos: 12
Convertir text a varchar en procedimientos almacenados

Hola:

He estado avanzando con procedimientos almacenados pero tengo el siguiente problema, debo migrar de una tabla a otra pero que en ambos difieren, sean estos en nombres de campo, y tipos de definición de dichos campos, por lo que con el siguiente procedimiento logro migrar los datos a mi nueva tabla pero los que difieren en varchar y text no se migran, he probado con CAST en los campos pero nada, este es el procedimientos almacenado:

Código MySQL:
Ver original
  1. DROP PROCEDURE IF EXISTS trans_usuarios;
  2. DELIMITER //
  3.  
  4. CREATE PROCEDURE trans_usuarios()
  5. DECLARE rowcount INT DEFAULT 0;
  6. DECLARE nombres VARCHAR(150);
  7. DECLARE denominacion VARCHAR(20);
  8. DECLARE telefonos VARCHAR(30);
  9. DECLARE fechanacimiento VARCHAR(8);
  10. DECLARE email VARCHAR(80);
  11. DECLARE ocupa VARCHAR(200);
  12. DECLARE maildire VARCHAR(60);
  13. DECLARE direccion TEXT;
  14.  
  15. DECLARE datos_usuario CURSOR FOR
  16. SELECT Cod_usr,Nombre,SUBSTRING(Titulo,1,6) denom,Direccion,CONCAT('TELEFONO: ',Telefono,'FAX: ',Fax,'CELULAR: ',Celular) AS teles,
  17. CAST(Email AS CHAR(80)) mail,Fec_nac,maildir,ocupacion,mail_d,mail_a FROM usuario;
  18.  
  19. DECLARE CONTINUE HANDLER FOR NOT FOUND SET rowcount=1;
  20. OPEN datos_usuario;
  21. c1_loop: LOOP
  22.     FETCH datos_usuario INTO id,nombres,denominacion,direccion,telefonos,email,fechanacimiento,maildire,ocupa,maild,maila;
  23.         IF (rowcount=1) THEN
  24.                 LEAVE c1_loop;
  25.         END IF;
  26.         INSERT INTO wusuario VALUES(id,nombres,'',denominacion,telefonos,'',fechanacimiento,email,maildire,ocupa,maild,maila,direccion);
  27. END LOOP c1_loop;
  28. CLOSE datos_usuario;
  29. END//
  30. DELIMITER;
Los campos email y direccion de mi nueva tabla son guardadas como nulas, cuando deberían tener valores.
gracias por su tiempo y ayuda.

Etiquetas: procedimientos, select, tabla, tipo, varchar, almacenar, txt, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:37.