DECLARE
multi
DECLARE d DATE DEFAULT CURRENT_DATE();
DECLARE x, y, z INT64 DEFAULT 0;
SET
multi
SET variable_name = expression;
SET (a, b, c) = (1 + 3, ‘foo’, false);
EXECUTE IMMEDIATE
EXECUTE IMMEDIATE
“CREATE TEMP TABLE Books (title STRING, publish_date INT64)”;
EXECUTE IMMEDIATE
USING
EXECUTE IMMEDIATE
“INSERT INTO Books (title, publish_date) VALUES(?, ?)”
USING 1815 as year, “Emma” as name;
EXECUTE IMMEDIATE
FORMAT
EXECUTE IMMEDIATE FORMAT(“””
SELECT %s FROM books”””, “name”)
BEGIN…EXCEPTION…END
BEGIN sql_statement_list EXCEPTION WHEN ERROR THEN sql_statement_list END;
CASE
CASE WHEN boolean_expression THEN sql_statement_list [...] [ELSE sql_statement_list] END CASE;
CASE search_expression
CASE search_expression WHEN expression THEN sql_statement_list [...] [ELSE sql_statement_list] END CASE;
IF
IF condition THEN [sql_statement_list] [ELSEIF condition THEN sql_statement_list] [...] [ELSE sql_statement_list] END IF;
FOR…IN
FOR loop_variable_name IN (table_expression)
DO
sql_expression_list
END FOR;
CALL
CALL procedure_name (procedure_argument[, …])
EXPORT DATA
EXPORT DATA OPTIONS( uri='gs://bucket/folder/*.csv', format='CSV', overwrite=true, header=true, field_delimiter=';') AS SELECT field1, field2 FROM mydataset.table1 ORDER BY field1 LIMIT 10