Академический Документы
Профессиональный Документы
Культура Документы
Tabla de actores:
USE videoteca;
DROP TABLE IF EXISTS actor;
CREATE TABLE actor (
id INT NOT NULL AUTO_INCREMENT,
nombre VARCHAR(64) NOT NULL,
apellidos VARCHAR(64) NOT NULL,
imdb VARCHAR(32) NOT NULL DEFAULT '',
PRIMARY KEY(id)
) ENGINE = InnoDB;
Registro de prueba:
USE videoteca;
INSERT INTO actor(nombre, apellidos, imdb)
VALUES('Harrison', 'Ford', 'nm0000148');
INSERT INTO actor(nombre, apellidos, imdb)
VALUES('Russell', 'Crowe', 'nm0000128');
Lista de actores
USE videoteca;
CREATE PROCEDURE pa_actores_lista()
SELECT
*
FROM
actor;
USE videoteca;
CREATE PROCEDURE pa_actores_cantidad()
SELECT
COUNT(*)
FROM
actor;
Delimitadores
USE videoteca;
DELIMITER //
CREATE PROCEDURE pa_actores_cantidad2()
BEGIN
DECLARE actores INT;
SELECT
COUNT(*)
FROM
actor
INTO
actores;
SELECT actores;
END
//
DELIMITER ;
Parmetros
Lista de actores cuyo nombre comienza con una
determinada letra:
USE videoteca;
CREATE PROCEDURE pa_actores_buscar(letra CHAR(2))
SELECT
*
FROM
actor
WHERE
nombre LIKE letra;
Funciones almacenadas
Nmero de actores:
USE videoteca;
DELIMITER //
CREATE FUNCTION fa_actores_cantidad()
RETURNS INT
BEGIN
DECLARE actores INT;
SELECT
COUNT(*)
INTO
actores
FROM
actor;
RETURN actores;
END
//
DELIMITER ;
Eliminacin de un procedure
Eliminar un procedimiento almacenado y crearlo de nuevo:
USE videoteca;
DROP PROCEDURE IF EXISTS pa_actores_lista;
CREATE PROCEDURE pa_actores_lista()
SELECT
*
FROM
actor
ORDER BY
apellidos,
nombre;
Detalles de procedures
Obtencin del cdigo de un procedimiento almacenado
existente:
USE videoteca;
SHOW CREATE PROCEDURE pa_actores_lista;
Respuesta ms ordenada:
USE videoteca;
SHOW CREATE PROCEDURE pa_actores_lista\G
Una insercin:
USE videoteca;
CALL pa_actor_insertar(
'Tim','Robbins','nm0000209');
Lista de actores:
USE videoteca;
CALL pa_actores_lista();