Voorbeeld van anonieme vragen over blokken

De volgende query toont een voorbeeld van het koppelen van SQL-instructies. Zie de SQL syntaxis in het document van de Dienst van de Vraagvoor meer informatie over om het even welke SQL gebruikte syntaxis.

$$ BEGIN
    CREATE TABLE ADLS_TABLE_A AS SELECT * FROM ADLS_TABLE_1....;
    ....
    CREATE TABLE ADLS_TABLE_D AS SELECT * FROM ADLS_TABLE_C....;
    EXCEPTION WHEN OTHER THEN SET @ret = SELECT 'ERROR';
END
$$;

In het onderstaande voorbeeld blijft SET het resultaat van een SELECT -query in de opgegeven lokale variabele behouden. De variabele is scoped aan het anonieme blok.

De momentopname-id wordt opgeslagen als een lokale variabele (@current_sid). Het wordt dan gebruikt in de volgende vraag om resultaten terug te keren die op SNAPSHOT van de zelfde dataset/de lijst worden gebaseerd. Voor meer informatie over de momentopnameclausulezie de SQL syntaxisdocumentatie.

$$ BEGIN
  SET @current_sid = SELECT parent_id  FROM (SELECT history_meta('your_table_name')) WHERE  is_current = true;
  CREATE temp table abcd_temp_table AS SELECT count(1) FROM your_table_name  SNAPSHOT SINCE @current_sid;
END
$$;

Anoniem blok met externe klanten

Bepaalde derdecliënten kunnen een afzonderlijke herkenningsteken vóór en na een SQL blok vereisen om erop te wijzen dat een deel van het manuscript als één enkele verklaring zou moeten worden behandeld. Als u een foutenmelding ontvangt wanneer het gebruiken van de Dienst van de Vraag met een derdecliënt, zou u naar de documentatie van de derdecliënt betreffende het gebruik van een SQL blok moeten verwijzen.

Bijvoorbeeld, DbVisualizer vereist dat het scheidingsteken de enige tekst op de lijn moet zijn. In DbVisualizer, is de standaardwaarde voor Begin Identifier --/ en voor het Eind - Herkenningsteken is het /. Een voorbeeld van een anoniem blok in DbVisualizer is hieronder te zien:

--/
$$ BEGIN
    CREATE TABLE ADLS_TABLE_A AS SELECT * FROM ADLS_TABLE_1....;
    ....
    CREATE TABLE ADLS_TABLE_D AS SELECT * FROM ADLS_TABLE_C....;
    EXCEPTION WHEN OTHER THEN SET @ret = SELECT 'ERROR';
END
$$;
/

Voor DbVisualizer in het bijzonder, is er ook een optie in UI aan "Execute the complete buffer as one SQL statement". Zie de documentatie DbVisualizervoor meer informatie.