jueves, 22 de marzo de 2012
miércoles, 21 de marzo de 2012
Clase 21/03/2012
--Declarar palabra a una variable
declare
mensage1 varchar2(4) :='Hola';
mensage2 varchar2(5) :='Mundo';
begin
DBMS_OUTPUT.PUT_LINE(mensage1 || ' ' || mensage2);
end
-------------------------------------------------------------
--Creacion de Tabla T1 con el campo E y F y agregar valores...
create table T1(
e integer,
f integer
);
begin
insert into T1 values(1,3);
insert into T1 values(2,4);
end
select *
from T1
declare
a number;
b number;
begin
select e,f into a,b
from T1
where e>1; --Este Select Asigna Al Atributo e=>a ----El valor de la columna e que sera asignado es 2
insert into T1 values(b,a);
end
-------------------------------------------------------------
--utilizacion de IF
declare
a integer;
begin
select count(*) into a
from T1;
if a>1 then
dbms_output.put_line('Hay mas de un REGISTRO');
elsif a=1 then
dbms_output.put_line('Hay solo un REGISTRO');
else
dbms_output.put_line('Hay solo un REGISTRO');
end if;
end
-------------------------------------------------------------
--Programa que verifica que el numero es par o impar
declare
a integer;
begin
a:=15;
if mod(a,2)=0 then ----la variable 'a' toma el valor de '15'
dbms_output.put_line('El numero es PAR');
else
dbms_output.put_line(''El numero es IMPAR);
end if;
end
-----Seleccion desde la tabla
declare
a integer;
begin
select count(*) into a
from T1;
if mod(a,2)=0 then
dbms_output.put_line('El numero es PAR');
else
dbms_output.put_line('El numero es IMPAR');
end if;
end
---- insertar mensage(msg)
declare
a integer;
msg varchar2(5);
begin
select count(*) into a
from T1;
if mod(a,2)=0 then
msg :='PAR';
else
msg :='IMPAR';
end if;
dbms_output.put_line('El numero es' || 'msg');
end
-------------------------------------------------------------
--como usar loop (Contador)
declare
x integer:=0; -- inicializar (CONTADOR EN '0' O EN VALOR DESIGNADO)
begin
loop
dbms_output.put_line('Hola Mundo'); -- Menasje a Imprimir en pantalla
x := x + 1; -- definir el contador
exit when x > 100; --Declaracion
end loop;
end
-------------------------------------------------------------
Diferencia entre SQL y PL-SQL
SQL : NO Procedual
PL-SQL : Lenguaje Precedual
-------------------------------------------------------------
Datos:
dbms_output.put_line("imprimir"); --- Este comando es para imprimir
--Declarar palabra a una variable
declare
mensage1 varchar2(4) :='Hola';
mensage2 varchar2(5) :='Mundo';
begin
DBMS_OUTPUT.PUT_LINE(mensage1 || ' ' || mensage2);
end
-------------------------------------------------------------
--Creacion de Tabla T1 con el campo E y F y agregar valores...
create table T1(
e integer,
f integer
);
begin
insert into T1 values(1,3);
insert into T1 values(2,4);
end
select *
from T1
declare
a number;
b number;
begin
select e,f into a,b
from T1
where e>1; --Este Select Asigna Al Atributo e=>a ----El valor de la columna e que sera asignado es 2
insert into T1 values(b,a);
end
-------------------------------------------------------------
--utilizacion de IF
declare
a integer;
begin
select count(*) into a
from T1;
if a>1 then
dbms_output.put_line('Hay mas de un REGISTRO');
elsif a=1 then
dbms_output.put_line('Hay solo un REGISTRO');
else
dbms_output.put_line('Hay solo un REGISTRO');
end if;
end
-------------------------------------------------------------
--Programa que verifica que el numero es par o impar
declare
a integer;
begin
a:=15;
if mod(a,2)=0 then ----la variable 'a' toma el valor de '15'
dbms_output.put_line('El numero es PAR');
else
dbms_output.put_line(''El numero es IMPAR);
end if;
end
-----Seleccion desde la tabla
declare
a integer;
begin
select count(*) into a
from T1;
if mod(a,2)=0 then
dbms_output.put_line('El numero es PAR');
else
dbms_output.put_line('El numero es IMPAR');
end if;
end
---- insertar mensage(msg)
declare
a integer;
msg varchar2(5);
begin
select count(*) into a
from T1;
if mod(a,2)=0 then
msg :='PAR';
else
msg :='IMPAR';
end if;
dbms_output.put_line('El numero es' || 'msg');
end
-------------------------------------------------------------
--como usar loop (Contador)
declare
x integer:=0; -- inicializar (CONTADOR EN '0' O EN VALOR DESIGNADO)
begin
loop
dbms_output.put_line('Hola Mundo'); -- Menasje a Imprimir en pantalla
x := x + 1; -- definir el contador
exit when x > 100; --Declaracion
end loop;
end
-------------------------------------------------------------
Diferencia entre SQL y PL-SQL
SQL : NO Procedual
PL-SQL : Lenguaje Precedual
-------------------------------------------------------------
Datos:
dbms_output.put_line("imprimir"); --- Este comando es para imprimir
Repaso:
--Creacion de tabla Autor
create table Autor(
IDAutor integer not null,
NomAutor varchar2(30) not null,
constraint PK_Autor primary key(IDAutor)
);
--Creacion de tabla Libro
create table Libro(
IDLibro integer not null,
IDAutor integer not null,
NomLibro varchar2(30) not null,
constraint PK_Libro primary key(IDLibro),
constraint FK_Libro_Autor foreign key(IDAutor) references Autor
);
-- insertar datos autor
begin
insert into Autor values (100, 'Pablo Neruda');
insert into Autor values (200, 'Gabriel Garcia Marquez');
end
-- insertar datos de libro
begin
insert into libro values (10, 100, 'Confieso que he vivido');
insert into libro values (20, 100, '20 poemas de amor');
insert into libro values (30, 100, 'Versos del Capitan');
insert into libro values (40, 200, 'Cien años de soledad');
insert into libro values (50, 200, 'El amor en los tiempos del Colera');
end
-- modificar tamaño de nombre Libro
alter table Libro
modify NomLibro varchar2(50);
-- Seleccionar Datos de tabla Libro
select *
from Libro;
-- Agregar atributo Fecha de Nacimiento
alter table Autor
add FecNac date;
-- Agregar la fecha de Naciemiento a Autor
update Autor
set FecNac = '12-07-1904'
where NomAutor = 'Pablo Neruda';
update Autor
set FecNac = '06-07-1927'
where NomAutor = 'Gabriel Garcia Marquez';
-- Calcular edad
select NomAutor, round((sysdate - FecNac)/365) as Edad
from Autor
where NomAutor = 'Gabriel Garcia Marquez';
-- seleccionar todos los libros del autor 'Pablo Neruda'
--pregunta1
select *
from Libro l inner join Autor a on l.IDAutor = a.IDAutor
where a.NomAutor = 'Pablo Neruda';
--pregunta2
select *
from Libro l, Autor a
where l.IDAutor=a.IDAutor
and a.NomAutor = 'Pablo Neruda';
--pregunta3
select *
from Libro
where IDAutor = (select IDAutor
from Autor
where NomAutor = 'Pablo Neruda');
--seleccionar columna de tabla Autor y Libro
select *
from col
where tname = upper('Autor');
select *
from col
where tname = ('LIBRO');
-- Seleccionar autores con libros relacionados con palabra amor
select NomAutor
from Autor
where IDAutor in (select IDAutor
from libro
where lower(NomLibro) like '%amor%')
*Datos de Estudio...
UPPER : Pasa las letras a Mayusculas.
LOWER : Pasa las letras a Minusculas
DUAL : Tabla Comodin
AS('Nombre'): Da el nombre a la tabla seleccionada Dual
DESC : Describe la estructura de la tabla
ROUND : Redondear numeros (sin decimales).
--------------------------------------------------------------------
--Mostrar todas las tablas del sistema
select *
from tab
--------------------------------------------------------------------
--From Dual utilizado para mostrar una tabla sin haberla creado
select upper('abcdef') from dual
select (15*3) + 5 as Tamaño from dual
--------------------------------------------------------------------
--Creacion de tabla Autor
create table Autor(
IDAutor integer not null,
NomAutor varchar2(30) not null,
constraint PK_Autor primary key(IDAutor)
);
--Creacion de tabla Libro
create table Libro(
IDLibro integer not null,
IDAutor integer not null,
NomLibro varchar2(30) not null,
constraint PK_Libro primary key(IDLibro),
constraint FK_Libro_Autor foreign key(IDAutor) references Autor
);
-- insertar datos autor
begin
insert into Autor values (100, 'Pablo Neruda');
insert into Autor values (200, 'Gabriel Garcia Marquez');
end
-- insertar datos de libro
begin
insert into libro values (10, 100, 'Confieso que he vivido');
insert into libro values (20, 100, '20 poemas de amor');
insert into libro values (30, 100, 'Versos del Capitan');
insert into libro values (40, 200, 'Cien años de soledad');
insert into libro values (50, 200, 'El amor en los tiempos del Colera');
end
-- modificar tamaño de nombre Libro
alter table Libro
modify NomLibro varchar2(50);
-- Seleccionar Datos de tabla Libro
select *
from Libro;
-- Agregar atributo Fecha de Nacimiento
alter table Autor
add FecNac date;
-- Agregar la fecha de Naciemiento a Autor
update Autor
set FecNac = '12-07-1904'
where NomAutor = 'Pablo Neruda';
update Autor
set FecNac = '06-07-1927'
where NomAutor = 'Gabriel Garcia Marquez';
-- Calcular edad
select NomAutor, round((sysdate - FecNac)/365) as Edad
from Autor
where NomAutor = 'Gabriel Garcia Marquez';
-- seleccionar todos los libros del autor 'Pablo Neruda'
--pregunta1
select *
from Libro l inner join Autor a on l.IDAutor = a.IDAutor
where a.NomAutor = 'Pablo Neruda';
--pregunta2
select *
from Libro l, Autor a
where l.IDAutor=a.IDAutor
and a.NomAutor = 'Pablo Neruda';
--pregunta3
select *
from Libro
where IDAutor = (select IDAutor
from Autor
where NomAutor = 'Pablo Neruda');
--seleccionar columna de tabla Autor y Libro
select *
from col
where tname = upper('Autor');
select *
from col
where tname = ('LIBRO');
-- Seleccionar autores con libros relacionados con palabra amor
select NomAutor
from Autor
where IDAutor in (select IDAutor
from libro
where lower(NomLibro) like '%amor%')
*Datos de Estudio...
UPPER : Pasa las letras a Mayusculas.
LOWER : Pasa las letras a Minusculas
DUAL : Tabla Comodin
AS('Nombre'): Da el nombre a la tabla seleccionada Dual
DESC : Describe la estructura de la tabla
ROUND : Redondear numeros (sin decimales).
--------------------------------------------------------------------
--Mostrar todas las tablas del sistema
select *
from tab
--------------------------------------------------------------------
--From Dual utilizado para mostrar una tabla sin haberla creado
select upper('abcdef') from dual
select (15*3) + 5 as Tamaño from dual
--------------------------------------------------------------------
Suscribirse a:
Entradas (Atom)