
18/06/2008, 04:06
|
| | Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 16 años, 8 meses Puntos: 0 | |
Respuesta: Cursor Pl/sql Ahora mismo, mi cursor esta así:
DECLARE
CURSOR ejemplo IS
SELECT a
FROM txs
WHERE b = '&1';
ejemplo_rec ejemplo%ROWTYPE;
BEGIN
FOR ejemplo_rec IN ejemplo
LOOP
DELETE TXS WHERE a = ejemplo_rec.a;
END LOOP;
END;
Y realmente me hace lo que quiero, pero prefiero que en vez de realizar un delete se haga un truncate a la partición correspondiente. el nombre de la partición es txs_PXX, donde XX es el campo a. Es decir, la tabla esta particionada por el campo a y tiene valores 1, 20, 118... y las particiones son txs_P1, txs_P20, txs_P118...
Había pensado en hacer algo del estilo: ALTER TABLE txs TRUNCATE PARTITION txs_P||ejemplo_rec.a;
Pero esto anterior no me funciona, me devuelve error PLS-00103.
¿Alguna idea de como podría hacerlo para que me truncara por partición?
Muchas gracias. |