Algunos Stored procedures
Publicado por Diego (1 intervención) el 06/10/2006 19:21:43
Hola a todos, espero que si les sirve escriban y sino escriban también.
estos stored procedures se crearon para MySql 5
--
--ER/Studio 7.0 SQL Code Generation
-- Company : RealWorks
-- Project : Gestion.DM1
-- Author : Diego Ramirez
--
-- Date Created : Monday, October 02, 2006 18:48:37
-- Target DBMS : MySQL 4.x
--
--
-- TABLE: Bibliotecas
--
CREATE TABLE Bibliotecas(
idBiblioteca INT AUTO_INCREMENT,
Nombre VARCHAR(100) DEFAULT 'S/C' NOT NULL,
Descripcion VARCHAR(200) DEFAULT 'S/C' NOT NULL,
PRIMARY KEY (idBiblioteca)
)TYPE=MYISAM
;
--
-- TABLE: Categorias
--
CREATE TABLE Categorias(
idCategoria INT AUTO_INCREMENT,
Nombre VARCHAR(200) DEFAULT 'S/C' NOT NULL,
Descripcion VARCHAR(200) DEFAULT 'S/C' NOT NULL,
Parent_idCategoria INT DEFAULT '0' NOT NULL,
Bibliotecas_idBiblioteca INT NOT NULL,
PRIMARY KEY (idCategoria)
)TYPE=MYISAM
;
--
-- TABLE: Documentos
--
CREATE TABLE Documentos(
idDocumento INT AUTO_INCREMENT,
Categorias_idCategoria INT NOT NULL,
NumeroEjemplares INT NOT NULL,
Titulo VARCHAR(200) NOT NULL,
Descripcion TEXT NOT NULL,
Palabras_clave TEXT,
Disponibles INT NOT NULL,
PRIMARY KEY (idDocumento)
)TYPE=MYISAM
;
--
-- TABLE: Prestamos
--
CREATE TABLE Prestamos(
idPrestamo INT AUTO_INCREMENT,
Documentos_idDocumentos INT NOT NULL,
Socios_idSocio INT NOT NULL,
Fecha_Prestamo DATE NOT NULL,
Fecha_Devolucion DATE NOT NULL,
PRIMARY KEY (idPrestamo)
)TYPE=MYISAM
;
--
-- TABLE: Socios
--
CREATE TABLE Socios(
idSocio INT AUTO_INCREMENT,
Nro_socio INT NOT NULL,
Apellido_Nombre VARCHAR(200) NOT NULL,
email VARCHAR(100) NOT NULL,
PRIMARY KEY (idSocio)
)TYPE=MYISAM
;
--
-- TABLE: Categorias
--
ALTER TABLE Categorias ADD CONSTRAINT RefBibliotecas2
FOREIGN KEY (Bibliotecas_idBiblioteca)
REFERENCES Bibliotecas(idBiblioteca)
;
--
-- TABLE: Documentos
--
ALTER TABLE Documentos ADD CONSTRAINT RefCategorias3
FOREIGN KEY (Categorias_idCategoria)
REFERENCES Categorias(idCategoria)
;
--
-- TABLE: Prestamos
--
ALTER TABLE Prestamos ADD CONSTRAINT RefDocumentos4
FOREIGN KEY (Documentos_idDocumentos)
REFERENCES Documentos(idDocumento)
;
ALTER TABLE Prestamos ADD CONSTRAINT RefSocios5
FOREIGN KEY (Socios_idSocio)
REFERENCES Socios(idSocio)
;
Aca van los stored procedures normalizados
<Nombre_de_tabla>_<Stored_Procedure>
categorias_SelectAll
trae todos los registros
delimiter \\
CREATE PROCEDURE categorias_SelectAll(
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
Select * from categorias
\\
delimiter ;
categorias_TL
trae los registros para rellenar un listbox
delimiter \\
CREATE PROCEDURE Categorias_TL(
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
Select idCategoria, Nombre from categorias
\\
delimiter ;
categorias_Agregar()
realiza la inserción de una nueva categoría
delimiter \\
CREATE PROCEDURE categorias_Agregar(
_idCategoria int(11),
_Nombre varchar(200),
_Descripcion varchar(200),
_Parent_idCategoria int(11),
_Bibliotecas_idBiblioteca int(11)
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
INSERT INTO categorias(idCategoria,Nombre,Descripcion,Parent_idCategoria,Bibliotecas_idBiblioteca)
VALUES (_idCategoria,_Nombre,_Descripcion,_Parent_idCategoria,_Bibliotecas_idBiblioteca)
\\
delimiter ;
categorias_Modificar()
modifica el registro en función del id de la categoría
delimiter \\
CREATE PROCEDURE categorias_Modificar(
_idCategoria int(11),
_Nombre varchar(200),
_Descripcion varchar(200),
_Parent_idCategoria int(11),
_Bibliotecas_idBiblioteca int(11)
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
UPDATE categorias SET
Nombre = _Nombre,
Descripcion = _Descripcion,
Parent_idCategoria = _Parent_idCategoria,
Bibliotecas_idBiblioteca = _Bibliotecas_idBiblioteca
WHERE
idCategoria = _idCategoria;
\\
delimiter ;
categorias_SelectxId()
trae los registros de la categoría elegida
delimiter \\
CREATE PROCEDURE categorias_SelectxId(
_idCategoria int(11)
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
Select * from categorias where _idCategoria=idCategoria
\\
delimiter ;
categorias_BorrarxId()
borra el registro seleccionado por el id
delimiter \\
CREATE PROCEDURE categorias_BorrarxId(
_idCategoria int(11)
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
DELETE FROM categorias WHERE _idCategoria=idCategoria;
\\
delimiter ;
estos stored procedures se crearon para MySql 5
--
--ER/Studio 7.0 SQL Code Generation
-- Company : RealWorks
-- Project : Gestion.DM1
-- Author : Diego Ramirez
--
-- Date Created : Monday, October 02, 2006 18:48:37
-- Target DBMS : MySQL 4.x
--
--
-- TABLE: Bibliotecas
--
CREATE TABLE Bibliotecas(
idBiblioteca INT AUTO_INCREMENT,
Nombre VARCHAR(100) DEFAULT 'S/C' NOT NULL,
Descripcion VARCHAR(200) DEFAULT 'S/C' NOT NULL,
PRIMARY KEY (idBiblioteca)
)TYPE=MYISAM
;
--
-- TABLE: Categorias
--
CREATE TABLE Categorias(
idCategoria INT AUTO_INCREMENT,
Nombre VARCHAR(200) DEFAULT 'S/C' NOT NULL,
Descripcion VARCHAR(200) DEFAULT 'S/C' NOT NULL,
Parent_idCategoria INT DEFAULT '0' NOT NULL,
Bibliotecas_idBiblioteca INT NOT NULL,
PRIMARY KEY (idCategoria)
)TYPE=MYISAM
;
--
-- TABLE: Documentos
--
CREATE TABLE Documentos(
idDocumento INT AUTO_INCREMENT,
Categorias_idCategoria INT NOT NULL,
NumeroEjemplares INT NOT NULL,
Titulo VARCHAR(200) NOT NULL,
Descripcion TEXT NOT NULL,
Palabras_clave TEXT,
Disponibles INT NOT NULL,
PRIMARY KEY (idDocumento)
)TYPE=MYISAM
;
--
-- TABLE: Prestamos
--
CREATE TABLE Prestamos(
idPrestamo INT AUTO_INCREMENT,
Documentos_idDocumentos INT NOT NULL,
Socios_idSocio INT NOT NULL,
Fecha_Prestamo DATE NOT NULL,
Fecha_Devolucion DATE NOT NULL,
PRIMARY KEY (idPrestamo)
)TYPE=MYISAM
;
--
-- TABLE: Socios
--
CREATE TABLE Socios(
idSocio INT AUTO_INCREMENT,
Nro_socio INT NOT NULL,
Apellido_Nombre VARCHAR(200) NOT NULL,
email VARCHAR(100) NOT NULL,
PRIMARY KEY (idSocio)
)TYPE=MYISAM
;
--
-- TABLE: Categorias
--
ALTER TABLE Categorias ADD CONSTRAINT RefBibliotecas2
FOREIGN KEY (Bibliotecas_idBiblioteca)
REFERENCES Bibliotecas(idBiblioteca)
;
--
-- TABLE: Documentos
--
ALTER TABLE Documentos ADD CONSTRAINT RefCategorias3
FOREIGN KEY (Categorias_idCategoria)
REFERENCES Categorias(idCategoria)
;
--
-- TABLE: Prestamos
--
ALTER TABLE Prestamos ADD CONSTRAINT RefDocumentos4
FOREIGN KEY (Documentos_idDocumentos)
REFERENCES Documentos(idDocumento)
;
ALTER TABLE Prestamos ADD CONSTRAINT RefSocios5
FOREIGN KEY (Socios_idSocio)
REFERENCES Socios(idSocio)
;
Aca van los stored procedures normalizados
<Nombre_de_tabla>_<Stored_Procedure>
categorias_SelectAll
trae todos los registros
delimiter \\
CREATE PROCEDURE categorias_SelectAll(
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
Select * from categorias
\\
delimiter ;
categorias_TL
trae los registros para rellenar un listbox
delimiter \\
CREATE PROCEDURE Categorias_TL(
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
Select idCategoria, Nombre from categorias
\\
delimiter ;
categorias_Agregar()
realiza la inserción de una nueva categoría
delimiter \\
CREATE PROCEDURE categorias_Agregar(
_idCategoria int(11),
_Nombre varchar(200),
_Descripcion varchar(200),
_Parent_idCategoria int(11),
_Bibliotecas_idBiblioteca int(11)
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
INSERT INTO categorias(idCategoria,Nombre,Descripcion,Parent_idCategoria,Bibliotecas_idBiblioteca)
VALUES (_idCategoria,_Nombre,_Descripcion,_Parent_idCategoria,_Bibliotecas_idBiblioteca)
\\
delimiter ;
categorias_Modificar()
modifica el registro en función del id de la categoría
delimiter \\
CREATE PROCEDURE categorias_Modificar(
_idCategoria int(11),
_Nombre varchar(200),
_Descripcion varchar(200),
_Parent_idCategoria int(11),
_Bibliotecas_idBiblioteca int(11)
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
UPDATE categorias SET
Nombre = _Nombre,
Descripcion = _Descripcion,
Parent_idCategoria = _Parent_idCategoria,
Bibliotecas_idBiblioteca = _Bibliotecas_idBiblioteca
WHERE
idCategoria = _idCategoria;
\\
delimiter ;
categorias_SelectxId()
trae los registros de la categoría elegida
delimiter \\
CREATE PROCEDURE categorias_SelectxId(
_idCategoria int(11)
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
Select * from categorias where _idCategoria=idCategoria
\\
delimiter ;
categorias_BorrarxId()
borra el registro seleccionado por el id
delimiter \\
CREATE PROCEDURE categorias_BorrarxId(
_idCategoria int(11)
)
NOT DETERMINISTIC
SQL SECURITY DEFINER
DELETE FROM categorias WHERE _idCategoria=idCategoria;
\\
delimiter ;
Valora esta pregunta


0