Cadena de caracteres a tabla Ayuda
Publicado por Adalllo (1 intervención) el 14/11/2016 13:05:29
Buenas, mi problema es:
Quiero que se introduzca como parámetro una serie de cadenas separadas por "coma" y que se inserte en una tabla.
Después de ver muchos foros he realizado esto pero no me funciona.
La tabla donde se introducen los datos ya esta creada.
Solución deseada:
Introducir por teclado : US1,US2,US3,US4,....
tabla intruducida
Quiero que se introduzca como parámetro una serie de cadenas separadas por "coma" y que se inserte en una tabla.
Después de ver muchos foros he realizado esto pero no me funciona.
La tabla donde se introducen los datos ya esta creada.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ACCEPT P_ID_EM PROMPT "Indique el Id de la Empresa: " DEFAULT 1;
ACCEPT P_ID_COD_USUARIO_BI PROMPT "Indique los Codigos de Usuarios, separados por comas, utilizar en la empresa parametrizado: " ;
DECLARE
--
V_ID_EMPRESA INTEGER := &P_ID_EM;
V_COD_USUARIO varchar2(50) := '&P_ID_COD_USUARIO_BI' ;
with t as (select V_COD_USUARIO as txt from dual);
CURSOR C_USUARIO IS select REGEXP_SUBSTR (txt, '[^,]+', 1, level) USUARIO
from t
connect by level <= length(regexp_replace(txt,'[^,]*'))+1;
i NUMBER:= 0;
--
BEGIN
FOR V_USUARIO IN C_USUARIO LOOP
INSERT INTO BI_T (COD_EM, COD_USUARIO)
VALUES (V_ID_EM, C_USUARIO.USUARIO);
i:= i+1;
--
END LOOP;
END;
/
Solución deseada:
Introducir por teclado : US1,US2,US3,US4,....
tabla intruducida
1
2
3
4
5
6
7
COD_EM COD_USUARIO
--------------------------------------
1 US1
1 US2
1 US3
1 US4
..............................
Valora esta pregunta


0