【发布时间】:2020-03-16 21:17:09
【问题描述】:
我需要在 Redshift 中编写一个将写入表的过程,但表名来自输入字符串。然后我声明一个将表名放在一起的变量。
CREATE OR REPLACE PROCEDURE my_schema.data_test(current "varchar")
LANGUAGE plpgsql
AS $$
declare new_table varchar(50) = 'new_tab' || '_' || current;
BEGIN
select 'somestring' as colname into new_table;
commit;
END;
$$
此代码运行,但没有创建新表,没有错误。如果我删除声明语句,那么它会起作用,创建一个名为“new_table”的表。它只是不使用声明的变量名。
很难找到好的例子,因为 Redshift 是 postgresql 并且所有的 postgresql 页面都说它只有函数,没有过程。但是 Redshift 程序是去年推出的,我没有看到很多例子。
【问题讨论】:
标签: stored-procedures amazon-redshift