我如何实现?
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
。
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过程
检查是否将数据插入客户