第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

避免雪花存儲過程中的重復項

避免雪花存儲過程中的重復項

慕村225694 2023-03-03 09:53:10
我編寫了一個存儲過程來將值插入表中。但是當我兩次調用存儲過程時,重復的值被插入到表中。如何避免存儲過程中的值重復。這是我的存儲過程:CREATE OR REPLACE PROCEDURE get_columns(TABLE_NAME VARCHAR)RETURNS ARRAYLANGUAGE JAVASCRIPTAS$$var stmt = snowflake.createStatement({    sqlText: "SELECT * FROM " + TABLE_NAME + " LIMIT 1;",    });stmt.execute();var cols=[];for (i = 1; i <= stmt.getColumnCount(); i++) {  INSERT INTO TABLE1 (Col_Name) VALUES ('+"stmt.getColumnName(i)"+');  //DUPLICATE VALUES}return cols$$;編輯:我正在檢索 Col_table say 的列名(Col1, Col2, Col3),我希望將這些列名放入 TABLE1 中。我調用了該過程call get_columns(Col_table)并將列名插入到 TABLE1 中。當我再次調用該過程時call get_columns(Col_table),TABLE1 將具有重復值,如(Col1, Col2, Col3, Col1, Col2, Col3). 我想通過使用合并或更新或任何其他方法來避免重復。
查看完整描述

1 回答

?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

根據(jù)編輯后的問題和評論:

  1. “當我再次調用過程 [...] 時,TABLE1 將具有重復值 [...]。我想通過使用合并或更新或任何其他方法來避免重復”

  1. “當我在兩個不同的表列上調用過程時,INSERT OVERWRITE 正在替換表的行”

然后,如果您不想將重復的值插入到現(xiàn)有表中,您可以這樣做:

INSERT INTO TABLE1(Col_Name) 

SELECT *

FROM (SELECT 'i' x)

WHERE x NOT IN (SELECT Col_Name FROM TABLE1);

在您的過程中替換該 SQL 代碼,您將不會看到重復的值。替換'i'為您要插入的值。


(作為一般性評論:我不確定問題中的過程是否是解決整體問題的最有效解決方案,但這將解決重復行的具體問題)


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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號