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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  mejorar la concatenacion de elementos segun opciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: mejorar la concatenacion de elementos segun opciones  (Leído 1,865 veces)
d91

Desconectado Desconectado

Mensajes: 165


Ver Perfil
mejorar la concatenacion de elementos segun opciones
« en: 30 Septiembre 2015, 01:39 am »

hola a todos, estoy trabajando el prototipo de un procedimiento almacenado en Oracle, desde la aplicacion en .net me envian cuales opciones fueron marcadas(por lo menos marcaron una) y las tengo que concatenar porque es para dar privilegios a un nuevo usuario, encontre una solucion pero veo que es muy extensa, tal vez me ayudan con otra idea para hacerlo mas pequeño y mas optimo
Código
  1. SET serveroutput ON
  2. DECLARE
  3. priv1 NUMBER(2);
  4. priv2 NUMBER(2);
  5. priv3 NUMBER(2);
  6. priv4 NUMBER(2);
  7. privilegios varchar2(512);
  8. cadena varchar2(1000);
  9. BEGIN
  10.  
  11.  
  12. priv1:=1;--privilegio de insert
  13. priv2:=1;--privilegio de update
  14. priv3:=0;--privilegio de delete
  15. priv4:=1;--privilegio de select
  16. IF priv1 > 0 THEN
  17.  privilegios:='INSERT';
  18.  END IF;
  19.  
  20. IF priv2 > 0 AND privilegios IS NOT NULL THEN
  21.   privilegios:=privilegios||','||'UPDATE';
  22.   END IF;
  23.  
  24. IF priv2 > 0 AND privilegios IS NULL THEN
  25.   privilegios:='UPDATE';
  26.   END IF;
  27.  
  28. IF priv3 > 0 AND privilegios IS NOT NULL THEN
  29.  privilegios:=privilegios||','||'DELETE';
  30.  END IF;
  31.  
  32. IF priv3 > 0 AND privilegios IS NULL THEN
  33.  privilegios:='DELETE';
  34.  END IF;
  35.  
  36. IF priv4 > 0  AND privilegios IS NOT NULL THEN
  37.  privilegios:=privilegios||','||'SELECT';
  38. END IF;
  39.  
  40. IF priv4> 0 AND privilegios IS NULL THEN
  41.  privilegios:='SELECT';
  42.  END IF;
  43. cadena:='grant '||privilegios||' on '||' tab_estudiante '||' to '||' my_usuario';
  44. dbms_output.put_line(cadena);
  45. END;
  46.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines