将表名称作为雪花存储过程的变量 我试图在雪花中定义一个存储程序,如下所示。但这是 在变量绑定上错误:table_name。 错误:语法错误:意外的“进入”。 我该如何实现? crea ...

问题描述 投票:0回答:1
.

我如何实现?

CREATE OR REPLACE PROCEDURE SP__INSERT_TO_CUSTOMERS(table_name varchar) RETURNS string LANGUAGE SQL AS BEGIN insert into :table_name (customer_name) select distinct customer_name from orders; RETURN ‘SUCCESS’; END;

	

@@barmar在评论中提到,您可以定义一个变量,可以在其中准备SQL语句,然后使用

EXECUTE IMMEDIATE

.
stored-procedures snowflake-cloud-data-platform
1个回答
0
投票
我通过创建样本

order

customer

测试了 CREATE OR REPLACE PROCEDURE SP__INSERT_TO_CUSTOMERS(table_name VARCHAR) RETURNS STRING LANGUAGE SQL AS $$ BEGIN LET sql_insert STRING; sql_insert := 'INSERT INTO ' || table_name || ' (customer_name) SELECT DISTINCT customer_name FROM orders;'; EXECUTE IMMEDIATE sql_insert; RETURN 'SUCCESS'; END; $$;

the过程

检查是否将数据插入客户

enter image description here

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.