FAQ de secuencias de Snowflake
Más preguntas frecuentes sobre los objetos SEQUENCE de Snowflake, más allá de la página principal de la guía.
¿Qué permisos se necesitan para usar una secuencia?
Para llamar a NEXTVAL necesitas el privilegio USAGE sobre la secuencia. Para crear o alterar una secuencia, CREATE SEQUENCE o la propiedad del esquema. Las secuencias heredan los permisos a nivel de esquema como cualquier otro objeto del esquema.
¿Cómo funciona la caché de secuencias en Snowflake?
Snowflake cachea valores de secuencia de forma predeterminada (tamaño de caché 20). Esto mejora el rendimiento de las llamadas NEXTVAL frecuentes. Los valores cacheados se pierden al reiniciar el servidor, lo que genera huecos mayores. Usa NO CACHE para secuencias con menos huecos, a costa de rendimiento.
¿Puedo restablecer una secuencia a un valor concreto?
Usa ALTER SEQUENCE seq_name SET VALUE = n para restablecerla. La siguiente llamada a NEXTVAL devuelve n + incremento. También puedes hacer CREATE OR REPLACE de la secuencia con un nuevo valor START para restablecerla por completo.
¿Las secuencias son seguras a nivel transaccional?
Las llamadas a NEXTVAL no son transaccionales. Una vez consumido un valor, nunca se reemite, aunque la transacción se revierta. Esto garantiza unicidad a costa de posibles huecos.