[英]BigQuery- Mystery "unclosed string literal" error from execute immediate statement
我正在處理一個在設置表描述元數據時創建表的腳本。 最終這會將變量表名和表描述作為輸入,因此需要立即執行語句。 現在為了讓事情更清晰,我只是將變量設置為 static 字符串。 我希望表格描述有多個新行,因為我將在其中包含一些不同的信息,出於易讀性原因,我不想將它們全部放在一行中。
我的代碼(下方)對我來說看起來是正確的,但是當我運行它時,出現錯誤:
Invalid EXECUTE IMMEDIATE sql string ` CREATE OR REPLACE TABLE `project.dataset.example_table` OPTIONS ( description = ' This is a table description. It uses multiple lines. ' ) AS ( Select 1 ) `, Syntax error: Unclosed string literal at [12:19]`
我真的沒有看到這個未閉合的字符串文字在哪里。 如果我從錯誤消息中復制 SQL 字符串並運行它,它就可以正常工作。 我唯一能想到的是它是否與 table_description 變量中的換行符有關?
Declare table_name string;
Declare table_description string;
Set table_name = 'project.dataset.example_table';
Set table_description =
"""
This is a table description.
It uses multiple lines.
""";
EXECUTE IMMEDIATE """
CREATE OR REPLACE TABLE `""" || table_name || """`
OPTIONS (
description = '""" || table_description || """'
) AS (
Select 1
)
""";
下面是固定版本 - 只需比較一下就可以看到幾個“修復”
Declare table_name string;
Declare table_description string;
Set table_name = 'project.dataset.example_table';
Set table_description =
"""
This is a table description.
It uses multiple lines.
""";
EXECUTE IMMEDIATE """
CREATE OR REPLACE TABLE `""" || table_name || """`
OPTIONS (
description = '''""" || table_description || """'''
) AS (
Select 1 as col_name
)
""";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.