Store Procedures
LEIZARZ25 de Febrero de 2014
527 Palabras (3 Páginas)245 Visitas
delimiter //
CREATE PROCEDURE actual()
BEGIN
SELECT CURDATE();
END
//
delimiter ;
CALL actual();
show create procedure actual;
SHOW PROCEDURE STATUS LIKE 'actual';
create database proyectobd;
use proyectobd;
create table libros (id_libro int(15) NOT NULL auto_increment,nombrelibro varchar(30),nombreautor varchar(30),PRIMARY KEY(id_libro));
insert into libros values (1,'Etica','Amador');
insert into libros values (2,'Azteca','Gary Jennings');
delimiter //
CREATE PROCEDURE consulta()
BEGIN
SELECT id_libro,nombrelibro FROM proyectobd.libros;
END
//
delimiter ;
CALL consulta();
show create procedure consulta;
SHOW PROCEDURE STATUS LIKE 'consulta';
delete * from usuarios where nombre='Anita';
//Insertar
DELIMITER $$
DROP PROCEDURE IF EXIST `agenda`.`Insertar`$$
CREATE PROCEDURE `agenda`.`Insertar`(in nombre varchar(45), telefono varchar(12), email varchar(50), id_contacto int primary key)
BEGIN
/*DECLARE nombre varchar(45)*/
INSERT INTO contactos VALUES (nombre,telefono,email,id_contacto);
END $$
DELIMITER ;
create table usuarios(nombre varchar(45),telefono varchar(12),email varchar(50),id_contacto int primary key)TYPE=MyISAM;
insert into usuarios values ('Almino','7221312567','gato.balin@yahoo.com.mx',1),('Anita','7227843213','anitayanoesanita@yahoo.com.mx',2),('Omar','58676848','jaime_camilhotmail.com',3);
DELIMITER $$
DROP PROCEDURE insertar$$
CREATE PROCEDURE insertar (nombre varchar(45), telefono varchar(12), email varchar(50),id_contacto int)
BEGIN
INSERT INTO usuarios VALUES (nombre,telefono,email,id_contacto);
rollback;
END $$
DELIMITER ;
call insertar ('Raziel','12345678','raziel@yahoo.com.mx',4);
call insertar ('Vaidal','111111','vidal@yahoo.com.mx',5);
call insertar ('Lego','22222','lego@yahoo.com.mx',6);
call insertar ('Mol','3333','moli@yahoo.com.mx',7);
//Borrar
DELIMITER $$
DROP PROCEDURE IF EXIST `agenda`.`Borrar`$$
CREATE PROCEDURE `agenda`.`Borrar`(in ident integer)
BEGIN
DELETE FROM contactos id_contacto=ident;
END $$
DELIMITER ;
//Actualizar
DELIMITER $$
DROP PROCEDURE IF EXIST `agenda`.`Actualizar`$$
CREATE PROCEDURE `agenda`.`Actualizar`(in ident integer,ntelefono varchar(12))
BEGIN
UPDATE contactos SET telefono=ntelefono WHERE id_contacto=ident;
END $$
DELIMITER ;
//Para invocar
CALL Insertar('Fernando Carraro Aguirre','7221312686','carraro.fernando@gmail.com',1);
select *from Agenda.contactos;
CALL Borrar(1);
select *from Agenda.contactos;
CALL Actualizar(1,'7221312453');
select *from Agenda.contactos;
...