El paquete para MacOSX lo encontre aquí: MySQL 5.0, actualmente tengo instalado Apache 2.0 con PHP 4 y Mysql 4 corriendo en una PowerPc G4 y todo ha ido de maravilla, todo el paquete se puede conseguir en Server Logistics en forma gratuita y su configuración es sumamente sencilla. Ahora toca instalar MySQL 5 para poder invocar Stored Procedures con Java.
Para crear un procedimiento almacenado desde mysql:
mysql> delimiter // (para cambiar ";" por "//")
mysql> CREATE PROCEDURE p (out p int)
-> BEGIN
-> SELECT COUNT(*) INTO p FROM muestra; <- esta tabla existe en la BD -> END//
mysql> delimiter ;
**********************************************************************************
Para crear un Stored Procedure un poco más útil:
mysql> DELIMITER //
mysql> CREATE PROCEDURE inserta(p int(1))
-> BEGIN
-> SET @id = p;
-> SET @muestra = HEX(p);
-> CREATE TABLE muestras(id int(1), muestra varchar(10));
-> INSERT INTO muestras(id, muestra) VALUE(@id, @muestra);
-> END//
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;
mysql> CALL inserta(1);
Query OK, 1 row affected (0.05 sec)
mysql> SELECT * FROM muestras;
+------+---------+
| id | muestra |
+------+---------+
| 1 | 1 |
+------+---------+
1 row in set (0.00 sec)
Manejo de excepciones con Stored Procedures
mysql-> CREATE PROCEDURE creatabla_m()
BEGIN
DECLARE error_tabla CONDITION FOR SQLSTATE '42S01';
DECLARE CONTINUE HANDLER FOR error_tabla
BEGIN
SELECT 'La tabla muestras ya existe, esta se volvera a crear';
DROP TABLE muestras;
CREATE TABLE muestras(id int(1), muestra varchar(10));
END;
BEGIN
CREATE TABLE muestras(id int(1), muestra varchar(10));
END;
INSERT INTO muestras (id, muestra) VALUES (1, 'nuevo');
END//
martes, 13 de febrero de 2007
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario