View 如何在文件(Windows命令行)中从SQL源创建BiqQuery视图

View 如何在文件(Windows命令行)中从SQL源创建BiqQuery视图,view,google-bigquery,View,Google Bigquery,我创建了许多BigQuery视图,所有视图都运行良好。我需要将查询的SQL源代码移动到源代码管理中,并从中管理更改。是否有方法使用文件源从命令行创建/更新视图?bq mk命令似乎只允许SQL代码内联到命令行--view关键字上。我的一些观点相当冗长,我确信有一些角色需要转义——我显然不想进入其中。我在Windows上运行。谢谢只需使用flagfile参数: bq mk--help: --flagfile:将给定文件中的标志定义插入命令行 bq mk--view--flagfile=dataset

我创建了许多BigQuery视图,所有视图都运行良好。我需要将查询的SQL源代码移动到源代码管理中,并从中管理更改。是否有方法使用文件源从命令行创建/更新视图?bq mk命令似乎只允许SQL代码内联到命令行--view关键字上。我的一些观点相当冗长,我确信有一些角色需要转义——我显然不想进入其中。我在Windows上运行。谢谢

只需使用
flagfile
参数:

bq mk--help

--flagfile:将给定文件中的标志定义插入命令行


bq mk--view--flagfile=dataset.newview

让我们假设文件
MyQuery.sql
包含视图定义

创建包含以下内容的脚本文件
Script.sh

query=`cat MyQuery.sql`    
bq mk --use_legacy_sql=false --view "$query"  dataset.myview
使用命令
sh script.sh运行


这在Shell中对我起了作用。。!!您可以对Windows进行必要的更改

感谢@graham polley的快速响应,这让我更接近我的目标。但它只在没有新行字符的情况下工作。当我输入一个带有换行符的文件时(我的一些查询很长),我会得到一个解析错误。我试着换成linux风格的新品,但也没用。有什么想法吗?也发现错误<代码>太多位置的ARG,仍然有…<代码> >我假设是新行字符。这不回答你的直接问题,但是考虑注册。它还可以让您尽早访问DDL语句,如CREATE VIEW。@Elliot brossard-这会让我能够通过使用命令行指向包含DDL的文件来创建/更新视图吗?我真的很惊讶这竟然如此困难。谢谢这意味着您可以使用
bq查询
并将
CREATE VIEW
语句导入其中。这可以在windows上完成吗?我不是windows专家,但我过去在尝试管道/重定向输入时遇到过特殊字符(如换行符)的问题。语法应该是这样的?但是如果它能工作的话,那就非常抱歉把最后一篇文章弄糟了——我的意思是:这可以在windows上完成吗?我不是windows专家,但我过去在尝试管道/重定向输入时遇到过特殊字符(如换行符)的问题。windows上的windows上的语法是什么样的(假设我使用管道传输SQL语句)?我提交了加入alpha的请求-谢谢!我可以跳过shell变量,直接从命令行执行
bq mk--use_legacy_sql=false--view“`cat my_view.sql`”dataset.myview