亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

存儲過程拋出“缺少列規范”

存儲過程拋出“缺少列規范”

小唯快跑啊 2023-12-14 15:17:39
我正在使用 Javascript 創建一個 Snowflake 存儲過程。我收到該過程拋出的 SQL 異常,提示“缺少列規范”。堆棧跟蹤指向這部分:var cmd_outputCreation = `CREATE OR REPLACE TABLE ${TBL_OUTPUT} AS(                                    SELECT A.*, B.RESULT[0], B.RESULT[1]                                    FROM(                                      SELECT ${API_FUNCTION}(joined.*) AS result                                      FROM (                                          SELECT ${c_id}, ${c_location_name},                                           ${c_street_address}, ${c_city}, ${c_region},                                           ${c_postal_code}, ${c_latitude}, ${c_longitude},                                          ${c_country_code}                                          FROM ${TBL_INPUT}                                       ) AS joined                                    ) AS B                                    INNER JOIN ${TBL_INPUT} AS A                                    ON A.RECID = B.RESULT[0]                                  )`;var stmt_outputCreation = snowflake.createStatement( {sqlText: cmd_outputCreation} );var result_outputCreation = stmt_outputCreation.execute();但是,我在這里看不到任何錯誤。如果我在沒有 SP 的情況下使用它,查詢本身在 SQL 上運行(顯然用實際的 SQL 表/列替換變量名稱)我知道“缺少列規范”意味著“列沒有名稱”,但情況似乎并非如此。我在這里缺少什么?
查看完整描述

1 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

您需要為 B.RESULT[0] 和 B.RESULT[1] 指定別名以賦予列唯一的名稱:


create temp table bar as select array_construct(1, 2) as b;


-- This gets missing column specification

create temp table foo as select b[0], b[1] from bar;


-- This does not

create temp table foo as select b[0] as B0, b[1] as B1 from bar;


查看完整回答
反對 回復 2023-12-14
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號