我正在尝试执行"插入表"并看到我们需要显式指定列名.有没有办法获得这些数据,而无需手动输入?我在BigQuery上这样做.
Ell*_*ard 10
下面是一个从表中获取列名称(不产生成本)并同时构建INSERT列表的示例:
WITH EmptyReference AS (
SELECT *
FROM `bigquery-public-data.samples.shakespeare`
LIMIT 0
)
SELECT
CONCAT(
'INSERT dataset.tablename (',
ARRAY_TO_STRING(
REGEXP_EXTRACT_ALL(
TO_JSON_STRING((SELECT AS STRUCT t.*)),
r'"([^"]+)":'),
', '),
')')
FROM (
SELECT AS VALUE t
FROM EmptyReference AS t
UNION ALL SELECT AS VALUE NULL
) AS t
Run Code Online (Sandbox Code Playgroud)
返回:
INSERT dataset.tablename (word, word_count, corpus, corpus_date)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1106 次 |
| 最近记录: |