elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
06 Octubre 2008, 18:22  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderadores: Hendrix, E0N)
| | |-+  PL/SQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: PL/SQL  (Leído 782 veces)
walter_rel

Desconectado Desconectado

Mensajes: 20



Ver Perfil
PL/SQL
« en: 24 Abril 2008, 21:19 »

Podriais explicarme acerca de esa programacion?, es que voy a hacer programacion en una empresa, digo que me piden un proyecto y voy a estudiarla y luego a hacer el proyecto.

PL/SQL es igual que a MySQL?, bueno existe un libro o manual para descargar acerca de este programacion?

Gracias

Saludos
En línea

Nuevo programador (estudiando).
Intentar ser buen informatico.

Mi blog
Blog
F3RN1

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Re: PL/SQL
« Respuesta #1 en: 24 Abril 2008, 22:29 »

Es que no tiene que ver PL/SQL con MySQL. MySQL es un sistema de gestion de BD relacional y PL/SQL es un lenguaje que creo que sólo se puede realizar con ORACLE.

Yo PL/SQL lo estudié el año pasado en la carrera y la verdad es que es batante sencillo.

Un saludo
En línea
^TiFa^

Desconectado Desconectado

Mensajes: 672


Need a Love Loan? Borrow some from me :)


Ver Perfil
Re: PL/SQL
« Respuesta #2 en: 24 Abril 2008, 22:45 »

Haber Haber....

Mysql, Oracle, Postgresql, SQL Server, DB2, etc son DB relacionales.

PL/SQL fue un pseudo-lenguaje primeramente implementado por Oracle para realizar procedimientos o funciones que puedes almacenar dentro de la DB y asi evitarte tener que tirar constantemente el mismo query de a lo mejor 20 lineas, una y otra vez  :¬¬

Ahora, PL/SQL No existe solo en Oracle. Es la creencia que se tiene, pero cada DB tiene su propio PL/SQL basado en el standard SQL que las hace similares.

SQL Server tiene TSQL
Postgresql tiene PL/PSQL

Mysql tiene simplemente PL

Pero en todas ellas, el 'PL/SQL' aplica, solo varian muy pocas lineas, pero el lenguaje en si es el mismo (if, else, bucles, while, for, case, etc)

Yo soy sysadmin pero tambien creo y desarrollo simples PL/SQL en la empresa donde laboro tanto para Oracle como para Mysql.

Es muy sencillo de aprender, pero aveces requeriras mucha Logica.
En línea

http://chixmes.blogspot.com/

Si quieres saber el valor del dinero, trata de conseguirlo prestado. 

El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz.
- Benjamin Franklin.

walter_rel

Desconectado Desconectado

Mensajes: 20



Ver Perfil
Re: PL/SQL
« Respuesta #3 en: 25 Abril 2008, 10:45 »

AH ok, pero no tiene nada que ver con crear paginas web? porque lo que me mandan hacer es esto:

Necesito una página que vamos a llamar: "Resumen de reservas de /Pymes", donde se totalicen el número de reservas que se han realizado a través de esta aplicación y organizado por las 7+1 direcciones regionales que existen.

Cada Regional, será una pestaña de la página.


Y dentro de cada Regional, tenemos que organizar las oficinas, que se subdividen en zonas.
Te pongo un ejemplo con la Regional, 101 que se subdivide en 3 direcciones de zona.






Y dentro de cada oficina, tenemos que contar el número de reservas realizadas:




La página, en cuanto a aspecto, tiene que se muy parecida a la que te muestro a continuación:



Le he pedido a Lourdes, que te ayude a realizar esta página.
Seguramente ella se encargue de la parte de PL/SQL y tu te puedes encargar de la página.

ESTO A QUE SE DEBE?. Es que estoy de practicas en una empresa y algo no me entero xD

Saludos y gracias
En línea

Nuevo programador (estudiando).
Intentar ser buen informatico.

Mi blog
Blog
^TiFa^

Desconectado Desconectado

Mensajes: 672


Need a Love Loan? Borrow some from me :)


Ver Perfil
Re: PL/SQL
« Respuesta #4 en: 25 Abril 2008, 15:55 »

Hola :)

Mira, te hablare en base a mi experiencia con DB.

No es obligado saber PL/SQL para programar una pagina con Oracle por ejemplo, eso que tu estas exponiendo de ejemplo, funciona perfectamente con simples 'Querys' o Peticiones a la base de datos. Si es obligatorio que sepas al menos lenguaje SQL (Que es un estandar que llevan todas las Base de datos relacionales) con dicho lenguaje de Consultas, haces tus peticiones en digase 'php' y php se conecta a la DB busca la peticion, la obtiene la guarda en variables y la imprime en pantalla en la pagina web.

Ahora, hay momentos que por comodidad, rapidez, o hasta economizar lineas de codigo cuando programas, es preferible crear 'procedimientos' o 'funciones' que forman parte del 'PL/SQL' el objetivo de usar PL/SQL es sencillamente como te expuse, guardar dentro de la DB un consulta larga dentro de un procedimiento por ejemplo:

Existe una Tabla con la siguiente informacion ::

Nombre  Apellido  Empleado  Fecha
Juan    Sanchez   23        24-JAN-08
Luis    Lopez     25        30-SEPT-08

Y tu quieres consultar en tu DB mediante un lenguaje de programacion (usare Perl de ejemplo, no se PHP lo siento) una informacion, quieres obtener esa informacion , guardarla en variables he ejecutarlas por ejemplo. Haces esto en Perl :

Código:
#!/usr/bin/perl
use strict;
use DBI;

#Hacemos la conexión a la DB
my $conexión = DBI->connect('dbi:Oracle:ROQDB','usuario','contraseña', { AutoCommit => 1 }) or die "$DBI::errstr";

if ($conexión ne "$DBI::errstr")
{
my $consulta = qq{ SELECT * FROM empleados WHERE nombres LIKE 'J%' };
my $resultado = $conexión->prepare($consulta);
$resultado->execute();

my ($a, $b, $c);
$resultado->bind_columns(undef, \$a, \$b, \$c);

while($resultado->fetchrow())
{
  print STDOUT "$a  $b  $c\n";
}
$resultado->finish();
$conexión->disconnect();


En el codigo anterior, mande a hacer un 'Query' a Oracle, donde digo que me busque y me imprima en pantalla, todos los usuarios que el encuentre que comienze con la letra J. Ahora esto aunque funciona perfectamente, es pesado volver a poner en cada linea de codigo la misma consulta una y otra vez

Consulta :

SELECT * FROM empleados WHERE nombres LIKE 'J%';

Esto no es factible para un programador ni para un DBA, imagina que te digan
Walter_rel hazme 20 lineas que consulten todos los empleados que comienzen con la letra J. Haras el codigo anterior 20 veces, en distintas horas del dia, una y otra vez.....

Es aqui donde entra el PL/SQL :) En la base de datos hacemos por ejemplo esto :

Código:
SQL> select * from prueba;

    CODIGO NOMBRES              APELLIDOS            EMAIL
---------- -------------------- -------------------- --------------------
        85 Josefina             Perez
        91 Lulu                 Lopez
        92 Pedro                Rodriguez
         3 Juan                 Lopez
         5 luis                 Sanchez
         7 Cynthia              Santos
        41 Eloisa               Lopez
         7 Juanita              Lolo                 cucu@msn.com
        41 Josefinat            Elo                  cuci@msn.com

9 rows selected.

SQL> set serveroutput on
SQL> set echo on
SQL> create procedure funcion
  2  is
  3  codigo integer := 10;
  4  palabra char(20);
  5  begin
  6  if codigo < 20 then
  7  select translate(nombres, 'u', 'A')
  8  into palabra
  9  from prueba
 10  where nombres like 'L%';
 11  dbms_output.put_line('Usted Coloco' || '' || palabra);
 12  elsif codigo > 20 then
 13  select upper(nombres)
 14  into palabra
 15  from prueba
 16  where nombres = 'Juan';
 17  dbms_output.put_line('Ha Seleccionado' || '' || palabra);
 18  else
 19  dbms_output.put_line('No selecciono nada');
 20  end if;
 21  end;
 22  /

Procedure created.

SQL> begin
  2  funcion;
  3  end;
  4  /
Usted ColocoLAlA

PL/SQL procedure successfully completed.

SQL>

Hemos creado un 'procedure' procedimiento almacenado en Oracle, dicho procedimiento se llama 'funcion' y funcion guarda unas instrucciones, que se cumplen cada vez que la ejecutamos. Ahora nuestro codigo en Perl seria por ejemplo asi ::

Código:
#!/usr/bin/perl
use strict;
use DBI;

#Hacemos la conexión a la DB
my $conexión = DBI->connect('dbi:Oracle:ROQDB','usuario','contraseña', { AutoCommit => 1 }) or die "$DBI::errstr";

if ($conexión ne "$DBI::errstr")
{
my $consulta = qq{ BEGIN funcion; END; };
$conexión->do($consulta);

$conexión->disconnect();


vez como varia hasta el codigo en programacion???
Ahora tenemos una sentencia guardada, que solo la llamamos o ejecutamos con un simple

execute funcion;  -- Si es en la DB

y un simple $conexión->do(variable) y ya esta.

En pocas palabras NO , no es obligatorio saber PL/SQL para hacer eso que dices, pero por comodidad y rapidez es preferible de vez en cuando tirar sus lineas de codigo PL/SQL. No siempre aplica, solo en ciertos casos donde por ejemplo necesitamos hacer una consulta de 30 lineas para obtener un resultado, para evitarnos lanzar esas 20 lineas nuevamente en otro momento, es preferible guardar esa consulta en un procedimiento y llamar al procedimiento por su nombre y ya esta :)
En línea

http://chixmes.blogspot.com/

Si quieres saber el valor del dinero, trata de conseguirlo prestado. 

El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz.
- Benjamin Franklin.

walter_rel

Desconectado Desconectado

Mensajes: 20



Ver Perfil
Re: PL/SQL
« Respuesta #5 en: 28 Abril 2008, 09:08 »

Muchisimas gracias por la respuesta, que explicacion mas clara ^^

Saludos!!
En línea

Nuevo programador (estudiando).
Intentar ser buen informatico.

Mi blog
Blog
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats