【问题标题】:How to execute multiple SQL statements in Snowflake which are in a table using Java/SQL如何在使用 Java/SQL 的表中的 Snowflake 中执行多个 SQL 语句
【发布时间】:2022-11-04 20:34:42
【问题描述】:

我们有一个只有 1 列和很多行的表。每行都有一个有效的合并 SQL 语句,如下所示,

表名:SAMPLE_TABLE 行列

  1. MERGE INTO TABLE_1 AS a USING d ON 1=2 WHEN NOT MATCHED THEN INSERT(ColumnA, ColumnB) VALUES(b.ColumnA, b.ColumnB);
    
  2. MERGE INTO TABLE_2 AS b USING d ON 1=2 WHEN NOT MATCHED THEN INSERT(ColumnA, ColumnB) VALUES(b.ColumnA, b.ColumnB);
    
  3. MERGE INTO TABLE_3 AS c USING d ON 1=2 WHEN NOT MATCHED THEN INSERT(ColumnA, ColumnB) VALUES(b.ColumnA, b.ColumnB);
    

    我们希望使用过程 (Java/SQL) 或其他程序在 Snowflake 中动态运行这些 SQL 语句。你能帮忙写代码吗?

    (我是这个脚本的初学者)

【问题讨论】:

  • Javascript!= Java。

标签: java snowflake-cloud-data-platform sql-scripts


【解决方案1】:

你可以尝试这样的事情。

-- 未经测试

create or replace procedure execute_SQL()
returns varchar(200)
language sql
as
$$
declare
  v_sql             varchar2;
  
    
                
 -- The main cursor which loops thorough the list of SQL stmts.

-- table_sql = 是包含 SQL stmts 的表 -- col_1 列包含 SQL 用于从 table_SQL 中选择 col_1 的 cur_main 游标;

  for i in cur_main do
    let delet_sql :=  i.col_1 ;
    execute immediate v_sql;
  end for;
end;
$$; 

【讨论】:

    猜你喜欢
    • 2012-06-11
    • 2014-04-04
    • 1970-01-01
    • 2021-01-05
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    相关资源
    最近更新 更多