PLSQL Básico - Procedimientos (stored procedures)
Vložit
- čas přidán 27. 07. 2012
- Los procedimientos son almacenados en la base de datos con un nombre identificativo y puede tener o no parametros. Son de las estructuras más importantes junto con los paquetes y funciones.
declaración básica:
DECLARE PROCEDURE miprocedure_prc AS
BEGIN
...
END miprocedure_prc;
hay 3 tipos de parametros, IN (entrada), OUT (salida), IN OUT (entrada/salida)
Nota: El nombre de los parametros declarados en el procedimiento no necesariamente tiene que ser igual a los enviados al momento de ejecucion. Ejemplo:
CREATE PROCEDURE procedure1_prc(p_1 number) ....
al ser llamado puede ser:
procedure1_prc(5);
procedure1_prc(var_1); --- var_1 puede contener cualquier numero - Věda a technologie
Wow gracias... justo lo que necesitaba!! gracias por los videos...me han ayudado un monton
Oh,, yo tambièn soy partidario del software libre, pero lo que si puedo agregar es que en las grandes empresas si queremos comenzar una carrera exitosa hay que saberle a tecnologias de punta, quizà despuès se pueda aportar en el mundo de software libre, depende de a donde queramos llevar nuestra meta profesional de cualquier manera serìa muy bueno que pudieras apoyarnos con videos de postgres asi tambien darles una checada e incrementar nuestras habilidades, saludos desde Mexico.
Gracias por tus vídeos, he aprendido mucho con ellos.
Hola DaemonDev, Estos videos te serviran bastante para usarlo tambien en Postgresql porque hasta donde se tomaron como base PLSQL de oracle, he revisado declaraciones procedimientos, loops if etc y es lo mismo,, igual hay cambios en cosas muy especificas, pero estaria bien despuès hacer un video de comparaciones en esas partes que pudieran ser diferntes, saludos.
Hola daniel Feliz 2014 y muchas felicitaciones y gracias por tus videos, recientemente me estoy iniciando con plSql y tus videos me han sido de muchisima ayuda, espero que en un futuro tambien subas algunos de forms y reports saludosl.
Entonces, somos!, dentro de unos dias, me pongo a hacer los videos, solo espero ser tan explicito como lo eres tu y causar y llegar tal como lo haces, entonces quedamos asi.
Que tal Orlando, de hecho tengo pendiente retomar java porque ahorita al no usarlo he perdido pràctica pero una vez que me vuelva a actualizar seguro que si, tambièn es algo que quiero dominar. gracias
Gracias Estimado.. Bien Explicado
Gracias!!! excelente explicación
excelente trabajo; felicitaciones !!!
Gracias =) Ojalà te sirva, ya sea para estudio o trabajo siempre aprende nuevas cosas nos mantiene un paso adelante, la clave de esto es planear bien, y saber que todo toma tiempo, y si ya estamos usando ese tiempo pues aprovecharlo y aprender bien.. saludos
great video congratulations, excelente video parabéns !
Hola Rut, gracias y la potencia en realidad del plsql es que se usa como parte central en aplicaciones empresariales como oracle ebs, aunq hay muchos programas customizados. Ojalà luego puedas compartir como lo usas tu para aprender un poco màs, gracias
Hola Pipe, gracias y te comento que los scripts para crear las tablas estan en un video llamado Oracle PLSQL Basico parte 3- Caso Practico fase A , en la seccion de informacion del video,... por ahi tambien hay otro video para que practiques en linea sin instalar nada en tu maquina. saludos
Excelente mi hermano
estoy viendo tus vídeos, son muy buenos, por casualidad no tienes subidas la tablas con las que trabajas?
saludos y creo que fata algo con relación a los trigger :)
seria interesante que hicieras tutoriales; como invocar a un SP, una función creada en oracle desde java. Te agradecería bastante
muy bueno
Primero que nada, gracias por la excelente explicación.
Tengo una duda, ¿por qué es necesario declarar las variables al final en el bloque?, ¿qué sucede si mandas llamar las variables tal como estaban hasta arriba: p_name o p_x ?
Hola Maximum, esas variables que mencionas en realidad son parametros de salida,, valida la parte del OUT., entonces nosotros lo que estamos haciendo es darles un valor a usar cuando se ejecute el procedimiento. Saludos.
Q BUEN VIDEO
oie podrías subir una función que actualiza total de la factura
Hola Daniel. Muchas gracias por tu explicación.
Una consulta.
Según la sintaxis:
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT ] type [, ...])]
{ IS | AS }
...............
¿cuándo emplear IS ?, ¿cuándo emplear AS ?
Es As lo usas para procedimientos almacenados y el IS para cursores explícitos.
Hola Daniel, una pregunta? como colocar fechas como parametros en un procedimiento? lo que necesito hacer es: Hacer un procedimiento que guarde los datos de una tabla en otra tabla temporal pero en un rango de fechas (parámetos)
Hola Fernanda puedes mandar de esta forma
create or replace procedure my_proc(p_fecha_in date, p_fecha_fin date) as
begin
insert into temp_table(a,b,c,d)
select a,b,c,d from table1
where trunc(fecha) between trunc(p_fecha_in) and trunc(p_fecha_fin);
--
commit;
end my_proc;
aqui estoy considerando dias enteros por eso se le pone el trunc, si por ejemplo tomaras en cuanta la hora del dia entonces quitas el trunc.
Otro detalle es ,, hay veces que por alguna razon o diseño del programa se guardan fechas en tipos varchar, entonces ahi habria que convertir, espero no sea el caso..
saludos
Hola Daniel ; gracias por los tutoriales, son muy buenos, queria preguntarte esta linea para imprimir el String: " dbms_output.put_line " ¿ Como es en Postgres?. Gracias
Hola que tal no se de postgres pero asi buscando rapido podria ser Raise debug ''Mensaje % '', aVariable;
Daniel excelente tutorial, la verdad me salvo para un examen final, una consulta por casualidad no tienes o conoces de algún tuto que muestre como hacer uso de un cursor por referencia y retorno con parámetro de salida desde java?
Gracias Jason, no tengo mucho conocimiento de Java, pero encontrè un link www.idevelopment.info/data/Programming/java/jdbc/PLSQL_and_JDBC/RefCursorExample.java espero te sirva. saludos
Daniel Nieto Muchas gracias lo voy a ver
Hola, podrias poner la presentacion para descargar.
amigo veo que publicaste muuchos videos relacionados a oracle el problema es que no se por donde empezar pues no se cual es tu primer video ni cual es el que le sigue y menos se cual es el ultimo video tuyo :-(
Hola que tal! oye tengo un caso, es el siguiente:
Tengo una tabla_A con campos: cliente, produto y costo.
Tengo una tabla_B
Tengo una tabla_C
Los cuales necesito poner en la tabla_B solo los campos PRODUCTO Y CLIENTE,
y en la tabla_C solo el campo cliente, de cierta forma necesito separar los campos en diferentes tablas.
La cuestion es que en la tabla_A el campo "producto" y el campo costo se pueden repetir los nombres de un producto y el costo de un producto pero el cliente no se puede repetir,
entonces para no hacer redundancia de da nombres y precios de datos entonces separamos el id del cliente en una tabla y precio y producto en otra, para que posteriormente los datos que se podrian repetir esten juntos y no haya redundancia de datos.
La pregunta es:
Como se le haría para sacar los datos de la tabla_A y agruparlos en la tabla_B como precio y producto sin repetirlos y en tabla_C poner id del cliente?
Hola Daniel, es un ejercicio usando PLSQL? - Porque puedes hacerlo con un insert from select directo..
1. Para la tabla b producto y precio ,, un select distinct producto, precio from tabla_a elimina los repetidos y esos los insertas
2. de la misma manera select distinct cliente from tabla_a elimina repetidos y esto insertas...
checa eso que te digo de insert from select.. o si es un ejercicio y necesitas usar alguna sentencia en especial o plsql me dices,,
saludos,
DN
Dennis buen dia ,, tienes razòn, porfas entra a la lista de mis videos dando click en mi nombre o imagen, al lado izq aparecen listas de reproducciòn, ahi tengo una que contiene segun mi perspectiva la lista de videos plsql ,,, espero lo encuentres y te sea ùtil
Se agradece, pero yo lo decia, para el resto, para que tambien miren a postgres como alternativa que ademas es Software Libre, me entiendes, yo ya se lo plpgsql, de hecho trabajo años con eso, bueno igual las gracias, a ver si me queda tiempo y yo mismo hago unos cuantos videos, de todas formas buen trabajo. desde Lima-Perú.
v ver si te haces con plpgsql