Build1 distinct publisher3 min readUpdated
Its SQL scripting now maps cursors, temp tables and exception handlers with near-identical syntax. The piece it calls decisive, multi-table rollback, is where the published walkthrough runs out.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
Its SQL scripting now maps cursors, temp tables and exception handlers with near-identical syntax. The piece it calls decisive, multi-table rollback, is where the published walkthrough runs out.
Follow any of these and your For You feed starts watching them — no settings page required.
Databricks has published a walkthrough arguing that the friction in warehouse migration was never moving the data, which it describes as well understood, but the procedural core: stored procedures, transaction handling, temp tables, control flow, and the fact that much of the enterprise still runs on SQL skills [1]. For anyone holding a migration business case, the consequence is narrow and specific: if the nightly procedural layer can be translated rather than rewritten, the line item that used to read "weeks of Python and Spark work, plus new bugs, plus a SQL team that can no longer maintain its own logic" gets a lot smaller [2].
The demonstration uses a composite procedure based on an Oracle migration case, which Databricks says applies to any legacy or cloud warehouse [3]. It stages unprocessed orders into a temp table, validates them against the customer master, loops through failures to log each rejection individually, updates regional revenue summaries and marks all orders processed, inside a transaction that rolls back on failure [4]. Databricks' framing is that the revenue dashboard, the finance close and the operations report all trace back to layers of procedural SQL that nobody fully understands and everybody depends on [5].
The mapping is the substance. The legacy BEGIN ... EXCEPTION ... END wrapper becomes DECLARE EXIT HANDLER FOR SQLEXCEPTION [6]. SELECT ... INTO becomes SET var = (SELECT ...) [7]. The scripting surface covers IF/ELSE, WHILE, FOR, LOOP, REPEAT, LEAVE, ITERATE and SIGNAL/RESIGNAL [8], and Teradata BTEQ .GOTO and .LABEL directives map onto labelled loops with LEAVE and ITERATE [9]. Cursors, the piece Databricks says everyone assumed would need a rewrite, are supported natively with OPEN, FETCH and CLOSE since Runtime 18.1, with %NOTFOUND becoming a CONTINUE HANDLER FOR NOT FOUND and loop labels plus LEAVE replacing EXIT WHEN [10]. That version number is the practical gate: on anything earlier the cursor path does not exist, so a runtime upgrade precedes the translation work [11].
Temp tables are cleaner. Session-scoped CREATE TEMP TABLE is the direct replacement, with no EXECUTE IMMEDIATE and no ON COMMIT PRESERVE ROWS, but CREATE OR REPLACE TEMP TABLE is not yet supported, so you drop first if the procedure must be re-runnable in the same session [12]. The example creates two temp tables, one for staging and one for validation failures [13], which means two hand-added DROP statements to preserve re-runnability [14].
Then transactions. Databricks calls this "the last piece, the one that made the migration actually viable" [15]: regional_revenue updated, orders marked processed, the batch logged, and a rollback if any part fails, which on the legacy system is an implicit transaction [16]. The text supplied to us breaks off mid-sentence at that point without stating the Databricks equivalent [17]. The element the vendor itself names as decisive is the one not demonstrated in the material available.
The deployment argument is separate and more durable: the procedure is registered in Unity Catalog with access controls, column-level lineage and discoverability across workspaces, against a legacy schema that three people had the password to [18]. Lineage and access control are auditable claims; the password line is colour.
Watch for the transaction section in full, and specifically whether multi-table rollback is a documented guarantee or a pattern you assemble yourself. Watch cursor throughput at real nightly-batch volumes, since row-at-a-time loops are the part that ports easily and runs badly. And watch whether CREATE OR REPLACE TEMP TABLE lands, because idempotent re-runs are how these jobs get restarted at 3am.
Ranked by verification strength, evidence, and original report placement.
Databricks states that moving data to the lakehouse is well understood and that the friction in a data warehouse migration is the procedural core: stored procedures, transaction handling, temp tables, control flow, and the fact that much of the enterprise still runs on SQL skills.
Databricks says that earlier, migrating such a procedure meant rewriting it entirely in Python and Spark: weeks of work, new bugs to find, and a SQL team that could no longer maintain their own business logic.
The demonstration uses a composite procedure Databricks says it has seen across migrations, based on an Oracle migration use case, and states it can be applied to any data warehouse, legacy or cloud-based.
The example procedure processes daily orders: it stages unprocessed orders into a temp table, validates them against the customer master, loops through failures to log each rejection individually, then updates regional revenue summaries and marks all orders as processed, all within a transaction that rolls back on failure.
The post asserts that the revenue dashboard, the finance close and the operations report all trace back to layers of procedural SQL business logic that no one fully understands anymore yet everyone depends on.
The legacy pattern wrapped the procedure body in BEGIN ... EXCEPTION ... END; Databricks uses DECLARE EXIT HANDLER FOR SQLEXCEPTION instead, described as the same idea with slightly different syntax.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Detailed but single-source and vendor-authored
The technical mappings are specific and checkable — named constructs, a stated runtime version, an explicitly unsupported statement form, and links to Databricks documentation — which is more than assertion. But there is exactly one source in the cluster, it is the vendor's own blog, and nothing is independently reproduced, benchmarked or corroborated. The quantitative claim that would carry the most weight (50-75% timeline reduction) has no methodology or sample attached.
Feature shipped, no observed users
The only adoption fact available is capability availability from the vendor: cursors and related scripting features exist as of Runtime 18.1. There is no named customer, no migration count, no workload volume and no third-party deployment report. The example procedure is explicitly a composite the vendor says it has seen, not a disclosed customer implementation, so nothing here evidences actual uptake.
Claims outrun the supporting evidence
The 'busting myths' and lift-and-shift framing, plus an unsourced 50-75% timeline reduction and an uncorroborated competitive claim about Oracle and Snowflake locking behaviour, sit well ahead of what a single vendor walkthrough demonstrates. Offsetting factors keep the gap moderate rather than severe: the syntax mappings are concrete, the post discloses a real limitation, and it recommends readers verify by translating one procedure themselves. The cluster's own framing also overstates a shortfall — the dek says the walkthrough runs out at multi-table rollback, while the source in fact publishes a BEGIN ATOMIC equivalent.
Vendor marketing with explicit conversion ask
The sole source is Databricks publishing on its own blog about its own product, arguing that migrating onto its platform is now low-friction, contrasting itself favourably against Oracle and Snowflake, and closing with a direct call to action to create a migration project. Every claim in the cluster is self-interested and none is checked by an outside party.
Moderate on the syntax facts, low on the outcomes
Confidence is reasonably high that the described syntax mappings and version gate are stated as reported, since they are specific and documentation-linked. It is low on the consequences — translation coverage across real codebases, timeline savings, and comparative concurrency advantages — because there is one source, it is the interested party, and the captured text is truncated at the end, dropping the practical adoption notes the post promised.
build
Inference inside the SELECT: the point is the governance boundary, not the syntax1 distinct publisher
build
Databricks quietly switched on dormant MANAGE grants. Check who just became an admin.1 distinct publisher
invest
Databricks raises $5B at $190B, and the multiple barely moved2 distinct publishers
build
Fabric Warehouse's one-minute floor turns your cheapest queries into your dearest ones1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 20, 2026