Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/05/2010, 22:45
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: No sé cual es el error, desconozco como se declara

Lo puedes ver como T-SQL en SQL Server y como PL/SQL en Oracle.
Son lenguajes de procedimientos que usan y extienden las capacidades del SQL dentro de los DBMS. Permiten realizar operaciones complejas con controles de flujo y toma de deciciones dentro de un sólo bloque de ejecuciones, así como administrar diferentes niveles de transacciones dentro de sí mismos.

Como los SP sólo pueden recibir parámetros, son invulnerables al SQL-injection. Además se ejecutan en el servidor donde residen, por lo que no usan tiempo de procesamiento en las máquinas clientes. Los SP si pueden devolver valores en los parámetros, si se indica, o bien pueden devolver una tabla de consulta de sólo lectura.

También permiten realizar tareas complejas a usuarios de bajo nivel de permisos, ya que solamente requieren permisos EXECUTE para hacerlo, lo que hace que se puedan ingresar, ver y eliminar datos de tablas a las cuales el usuario no tenga permiso, pero solamente en aquellas que el SP invoca y nada más.

Como además, se requieren permisos de alto nivel (SUPERUSER) para cargarlos y editarlos, no cualquier usuario puede crear uno y ponerlo en la base, por lo que son bastante seguros.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)