elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Ayuda con procedimiento. Simular array en text
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con procedimiento. Simular array en text  (Leído 2,388 veces)
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Ayuda con procedimiento. Simular array en text
« en: 22 Abril 2010, 14:54 pm »

Pues tengo este procedimiento:

Código
  1. CREATE PROCEDURE ee(ingreso text)
  2. BEGIN
  3. DECLARE tamanio tinyint;
  4. DECLARE comas tinyint;
  5. DECLARE elemento text;
  6. SET tamanio = LENGTH(ingreso);
  7. SET comas = instr(ingreso,',');
  8. while comas > 0 do
  9. SET elemento = SUBSTRING(ingreso,1,comas-1);
  10. SET ingreso = SUBSTRING(ingreso,comas+1);
  11. SELECT elemento;
  12. SET comas = instr(ingreso,',');
  13. END while;
  14. END //
  15.  

Aqui esta en ejecucion:

Código
  1. CALL ee('e,a,d,g');//
  2. +----------+
  3. | elemento |
  4. +----------+
  5. | e        |
  6. +----------+
  7. 1 ROW IN SET (0.00 sec)
  8.  
  9. +----------+
  10. | elemento |
  11. +----------+
  12. | a        |
  13. +----------+
  14. 1 ROW IN SET (0.00 sec)
  15.  
  16. +----------+
  17. | elemento |
  18. +----------+
  19. | d        |
  20. +----------+
  21. 1 ROW IN SET (0.00 sec)
  22.  
  23. Query OK, 0 ROWS affected (0.00 sec)

No muestra el ultimo caracter g.

Alquien me ayuda a solucionar el problema.
Gracias.

PD: La idea es mandar un string que representara a un array (cada elemento esta separado por una coma) .... el procedure debe separar cada elemento.


En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Ayuda con procedimiento. Simular array en text
« Respuesta #1 en: 22 Abril 2010, 21:50 pm »

No he podido ejecutar tu procedimiento (el trabajo me tiene a tope).

Pero mirandolo...sino me equivoco.. tu duda esta en esta indicacion:

SET comas = instr(ingreso,',');

Fijate que esta leyendo hasta donde vea una coma (,) y aca tu:

call ee('e,a,d,g');//

Donde termina la coma??? en la letra d  ahora.. intenta despues de la letra g colocar una coma(,) que quede asi:

call ee('e,a,d,g,');//

Y dime si funciona... no lo he probado, pero es lo unico que visualmente se me aclara un poco  :rolleyes:


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda procedimiento Pascal
Programación General
manu3742 3 2,821 Último mensaje 20 Abril 2011, 17:48 pm
por manu3742
AYUDA.PROCEDIMIENTO PARA DAR DE ALTA. PASCAL
Programación General
manu3742 3 4,758 Último mensaje 25 Abril 2011, 17:44 pm
por d(-_-)b
Ayuda con procedimiento
.NET (C#, VB.NET, ASP)
SγиtαxEяяoя 3 2,455 Último mensaje 10 Julio 2013, 21:10 pm
por SγиtαxEяяoя
Ayuda: Detener procedimiento
.NET (C#, VB.NET, ASP)
Tomas1982 1 1,743 Último mensaje 8 Septiembre 2016, 23:14 pm
por Eleкtro
MOVIDO: Ayuda: Detener procedimiento
Programación Visual Basic
Eleкtro 0 1,816 Último mensaje 8 Septiembre 2016, 22:35 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines