2/2/22

Fechas

 Tratamiento de fechas:


Crear una tabla con una columna automática de tipo timestamp:

create table if not exists DATABASE.SCHEMA.mi_tabla

(
    .
    .
    .    
    FECHA_ALTA              TIMESTAMPNTZ DEFAULT CURRENT_TIMESTAMP()
);

SELECT CURRENT_TIMESTAMP() SELECT date_trunc('DAY',CURRENT_TIMESTAMP()) SELECT CURRENT_TIMESTAMP(),dateadd('SECOND',86400,CURRENT_TIMESTAMP()) SELECT datediff('SECOND',CURRENT_TIMESTAMP(),dateadd('SECOND',86400,CURRENT_TIMESTAMP()))

Introducción a Snowflake

 Introducción a Snowflake



Creación Task


 Creación de un Task


create or replace task DATABASE.SCHEMA.mi_task 

  warehouse = mi_warehouse
  schedule = '1 MINUTE'
  when SYSTEM$STREAM_HAS_DATA('DATABASE.SCHEMA.mi_tabla_stream')
as
  call PROJECTDRIVE.WORK."pr_mi_procedure"();



Este task que estamos creando es para que salte cada minuto cuando salte el stream "mi_tabla_stream", si esto ocurre en este caso vamos a llamar a un procedimeinto "mi_procedure()".

Una vez creado lo activamos:

ALTER TASK DATABASE.SCHEMA.mi_task RESUME;

Si queremos desactivarlo para modificarlo o porque no queremos usarlo:
ALTER TASK DATABASE.SCHEMA.mi_task SUSPEND ;

Creación de un Stream

Crear un stream.

Primero creamos una tabla de ejemplo:

create table if not exists DATABASE.SCHEMA.mi_tabla

(
    CAMPO1 VARCHAR(20),
    CAMPO2 VARCHAR(20),
    CAMPO3 VARCHAR(20)    
);

create or replace stream DATABASE.SCHEMA.mi_tabla_stream on table DATABASE.SCHEMA.mi_tabla;

Ahora si insertamos, borramos o hacemos algo sobre la tabla, se quedará reflejado en el stream.