1

我已经在 SQL 脚本中为数据库和模式定义了变量。那么有什么方法可以同时在不同的数据库和模式中运行该 SQL 脚本?

我的 SQL 脚本如下所示,

use database &{db};
use schema &{sc};

create table a_multi_test
(
id int
, name varchar
);

这是我在powershell中运行的,

snowsql -c my_conn -f ...\multi_test.sql -D  db=dev -D  sc=schm  -D sc=schm2;

我成功地创建了表,但只能在第二个(schm2)模式中。它选择了第二个模式而不是两者。另外,我如何也可以为仓库定义变量?或者我只能通过设置连接参数在配置文件中做到这一点?请帮助我解决这个问题,并随时建议有关 Snowsql 变量的任何好的文档。

谢谢!

4

1 回答 1

0

为什么不运行两次脚本?如果您两次指定相同的变量名,SnowSQL 将采用最后一个,这就是您所看到的 ( schm2)。

以下是使用 shell 脚本同时运行它们的方法:

snowsql -c my_conn -f ...\multi_test.sql -D  db=dev -D sc=schm1& \
snowsql -c my_conn -f ...\multi_test.sql -D  db=dev -D sc=schm2&
于 2020-05-15T23:50:17.613 回答