Esto no se puede hacer todavia ?
O sea que yo pueda hacer una regla generica para varias operaciones con CASE. Un ejemplo practico de esto, lo podriamos ver por ejemplo cuando estamos haciendo un particionado de tablas, y tenemos que crear para cada tabla hija una regla de insercion cuando lo que cambie es un solo parametro. Si esto se pudiera hacer, seria muy muy bien visto.

Aqui les va un ejemplo practico:

//////////////////////////////////////////////////

|-- Regla para produccion_odin
CREATE RULE produccion_odin_insert_rule AS
ON INSERT TO produccion WHERE
( id_modelo = 1 )
DO INSTEAD
INSERT INTO produccion_odin VALUES ( NEW.id,
NEW.no_serie,
NEW.id_modelo,
NEW.id_personal,
NEW.fecha_fabricacion,
NEW.fecha_salida);

-- Regla para produccion_delta01
CREATE RULE produccion_delta01_insert_rule AS
ON INSERT TO produccion WHERE
( id_modelo = 2 )
DO INSTEAD
INSERT INTO produccion_delta01 VALUES ( NEW.id,
NEW.no_serie,
NEW.id_modelo,
NEW.id_personal,
NEW.fecha_fabricacion,
NEW.fecha_salida);

-- Regla para produccion_delta01plus
CREATE RULE produccion_delta01plus_insert_rule AS
ON INSERT TO produccion WHERE
( id_modelo = 3 )
DO INSTEAD
INSERT INTO produccion_delta01plus VALUES ( NEW.id,
NEW.no_serie,
NEW.id_modelo,
NEW.id_personal,
NEW.fecha_fabricacion,
NEW.fecha_salida);

-- Regla para produccion_delta02
CREATE RULE produccion_delta02_insert_rule AS
ON INSERT TO produccion WHERE
( id_modelo = 4 )
DO INSTEAD
INSERT INTO produccion_delta02 VALUES ( NEW.id,
NEW.no_serie,
NEW.id_modelo,
NEW.id_personal,
NEW.fecha_fabricacion,
NEW.fecha_salida);


Aqui creamos una regla por cada una. Si tuvieramos esa posibilidad de usar CASE WHEN id_modelo = 2 WHEN id_modelo = 3
y asi sucesivamente, seria bastante provechoso.

Saludos
|

--
"DBAs must implement decisions based on the best fit of application, DBMS, and 
platform
...........for that reason I use BSD + PostgreSQL + 
Linux.........................."

Ing. Marcos Luís Ortíz Valmaseda
Centro de Tecnologías de Almacenamiento y Anális de Datos (CENTALAD)
Universidad de las Ciencias Informáticas

Linux User # 418229

http://www.freebsd.org
http://www.openbsd.org
http://www.postgresql-es.org
http://www.postgresql.org
http://www.planetpostgresql.org
--
TIP 7: no olvides aumentar la configuración del "free space map"

Responder a