Funciones de depuración en SQL estándar

BigQuery admite las siguientes funciones de depuración.

ERROR

ERROR(error_message)

Descripción

Muestra un error. El argumento error_message es un STRING.

BigQuery trata a ERROR de la misma manera que a cualquier expresión que pueda dar como resultado un error: no hay una garantía especial de orden de evaluación.

Tipo de datos de retorno

BigQuery infiere el tipo de retorno en contexto.

Ejemplos

En el siguiente ejemplo, la consulta muestra un mensaje de error si el valor de la fila no coincide con uno de los dos valores definidos.

SELECT
  CASE
    WHEN value = 'foo' THEN 'Value is foo.'
    WHEN value = 'bar' THEN 'Value is bar.'
    ELSE ERROR(concat('Found unexpected value: ', value))
  END AS new_value
FROM (
  SELECT 'foo' AS value UNION ALL
  SELECT 'bar' AS value UNION ALL
  SELECT 'baz' AS value);

Found unexpected value: baz

En el siguiente ejemplo, BigQuery puede evaluar la función ERROR antes o después de la condición x > 0, porque BigQuery generalmente no ofrece garantías de pedido entre las condiciones de la cláusula WHERE y no hay garantías especiales para la función ERROR.

SELECT *
FROM (SELECT -1 AS x)
WHERE x > 0 AND ERROR('Example error');

En el siguiente ejemplo, la cláusula WHERE evalúa una condición IF, lo que garantiza que BigQuery solo evalúe la función ERROR si la condición falla.

SELECT *
FROM (SELECT -1 AS x)
WHERE IF(x > 0, true, ERROR(FORMAT('Error: x must be positive but is %t', x)));'

Error: x must be positive but is -1
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.