COMO HACER INGENIERIA REVERSA ....HELP
NECESITO HACER UN PROGRAMA QUE MEDEVUELVA LA CREACION DE TABLAS Y SUS PK Y FK.AYUDENME
¿ No tienes designer, toad o algo de eso ?
Mira, hechale un vistazo a estas tablas:
-- DBA_CONSTRAINTS
-- DBA_TABLES
-- DBA_CONS_COLUMNS
Piensa un poquito como utilizarlas para lo que quieres, improvisa y si te atascas me lo dices y te hecho una mano.
Te lo podría hacer yo. Hace 4 ó 5 años hice uno exactamente igual al que necesitas pero mirando en varias BBDD y calculando el tamaño de las tablas en base al volumen que tenían en cada BBDD.
Pero prefiero que lo intentes tu, así aprendes y te servirá en un futuro.
Pero como te he dicho, si te atascas me lo dices y te guio.
Te pongo mi email :
[email protected]
Salu2
Mira, hechale un vistazo a estas tablas:
-- DBA_CONSTRAINTS
-- DBA_TABLES
-- DBA_CONS_COLUMNS
Piensa un poquito como utilizarlas para lo que quieres, improvisa y si te atascas me lo dices y te hecho una mano.
Te lo podría hacer yo. Hace 4 ó 5 años hice uno exactamente igual al que necesitas pero mirando en varias BBDD y calculando el tamaño de las tablas en base al volumen que tenían en cada BBDD.
Pero prefiero que lo intentes tu, así aprendes y te servirá en un futuro.
Pero como te he dicho, si te atascas me lo dices y te guio.
Te pongo mi email :
[email protected]
Salu2
ok,lo q ocurre es q no cuento con mucho tiempo,dime cuanto cobras por hacer esa chambita
No cobro nada por ayudar, te doy ideas:
Te pongo unas select para orientarte, no tengo mucho tiempo libre tampoco.
Para sacar las columnas de la tabla CLIENTES ( Por ejemplo )
SELECT COLUMN_NAME
FROM DBA_TABLES
WHERE TABLE_NAME LIKE 'CLIENTES'
AND OWNER LIKE 'JC3000'
ORDER BY POSITION;
-- Creo que el campo del ORDER BY se llama así : position
Para sacar las constraints con los campos asociados.
SELECT CONTRAINT_NAME,COLUMN_NAME
FROM ALL_CONS_COLUMNS
WHERE TABLE_NAME LIKE 'CLIENTES'
AND OWNER LIKE 'JC3000'
ORDER BY CONSTRAINT_TYPE, POSITION
Para sacar las contraints de una tabla :
SELECT CONTRAINT_NAME
FROM ALL_CONSTRAINTS
WHERE TABLE_NAME LIKE 'CLIENTES'
AND OWNER LIKE 'JC3000';
Utiliza adecuadamente estas consultas y la salida la mandas a un .SQL en forma de script y ya lo tienes.
Te pondria mas cositas, pero ahora no tengo tiempo, a ver si mañana puedo ponertelo mejor
Te pongo unas select para orientarte, no tengo mucho tiempo libre tampoco.
Para sacar las columnas de la tabla CLIENTES ( Por ejemplo )
SELECT COLUMN_NAME
FROM DBA_TABLES
WHERE TABLE_NAME LIKE 'CLIENTES'
AND OWNER LIKE 'JC3000'
ORDER BY POSITION;
-- Creo que el campo del ORDER BY se llama así : position
Para sacar las constraints con los campos asociados.
SELECT CONTRAINT_NAME,COLUMN_NAME
FROM ALL_CONS_COLUMNS
WHERE TABLE_NAME LIKE 'CLIENTES'
AND OWNER LIKE 'JC3000'
ORDER BY CONSTRAINT_TYPE, POSITION
Para sacar las contraints de una tabla :
SELECT CONTRAINT_NAME
FROM ALL_CONSTRAINTS
WHERE TABLE_NAME LIKE 'CLIENTES'
AND OWNER LIKE 'JC3000';
Utiliza adecuadamente estas consultas y la salida la mandas a un .SQL en forma de script y ya lo tienes.
Te pondria mas cositas, pero ahora no tengo tiempo, a ver si mañana puedo ponertelo mejor