Semana 36 - Procedimientos Almacenados y UDFs

En el pasado, SuperHero Inc. ha tenido algunos problemas con la pérdida de conexión de datos: SuperDataBoy (antes conocido como InternDataLad) era un poco demasiado entusiasta con la eliminación de tablas, sin saber que una vista estaba haciendo referencia a ella.

Para ayudar a SuperDataBoy, vamos a crear un mecanismo que compruebe si una vista está obteniendo su información de una tabla que estamos a punto de eliminar. Si hay una dependencia, la tabla no debe ser eliminada.

Veamos si podemos ayudar a SuperDataBoy.

Puedes probar tu mecanismo con este pequeño trozo de código de arranque que simplemente crea un montón de tablas/vistas :

CREATE OR REPLACE TABLE table_1 (id INT);
CREATE OR REPLACE VIEW view_1 AS (SELECT * FROM table_1);
CREATE OR REPLACE TABLE table_2 (id INT);
CREATE OR REPLACE VIEW view_2 AS (SELECT * FROM table_2);
CREATE OR REPLACE TABLE table_6 (id INT);
CREATE OR REPLACE VIEW view_6 AS (SELECT * FROM table_6);
CREATE OR REPLACE TABLE table_5 (id INT);
CREATE OR REPLACE VIEW view_5 AS (SELECT * FROM table_5);
CREATE OR REPLACE TABLE table_4 (id INT);
CREATE OR REPLACE VIEW view_4 AS (SELECT * FROM table_4);
CREATE OR REPLACE TABLE table_3 (id INT);
CREATE OR REPLACE VIEW view_3 AS (SELECT * FROM table_3);
CREATE OR REPLACE VIEW my_union_view AS
SELECT * FROM table_1
UNION ALL
SELECT * FROM table_2
UNION ALL
SELECT * FROM table_3
UNION ALL
SELECT * FROM table_4
UNION ALL
SELECT * FROM table_5
UNION ALL
SELECT * FROM table_6;

Recuerda que si deseas participar:

  1. Regístrate como miembro de Frosty Friday. Puedes hacerlo haciendo clic en la barra lateral y luego yendo a "REGISTRARSE" (ten en cuenta que unirte a nuestra lista de correo no te proporcionará una cuenta de Frosty Friday).
  2. Publica tu código en GitHub y asegúrate de que sea de acceso público (consulta nuestra guía si no sabes cómo hacerlo).
  3. Publica la URL en los comentarios del desafío.

Si tienes alguna pregunta técnica que te gustaría plantear a la comunidad, puedes hacerlo aquí, en nuestro hilo dedicado a estos retos.

Previous
Previous

Semana 35 - Conectividad Externa

Next
Next

Semana 35 – Intermedio