【发布时间】:2019-07-09 13:49:07
【问题描述】:
我想编写一个存储过程,它采用文本参数 (table_name) 并根据该表名执行查询:select count(*) from 并将找到的值写入表。
这是(SELECT COUNT(*) FROM VARTABLE_NAME)部分,我不知道如何在Amazon Redshift中实现
CREATE OR REPLACE PROCEDURE SP_LOGGING (VARSTART INT, VARRUNID INT , VARPHASE VARCHAR, VARTABLE_NAME VARCHAR)
AS $$
BEGIN
IF VARSTART = 1 THEN
BEGIN
UPDATE AUDIT.RUN_TEST
SET TABLE_NAME = VARTABLE_NAME
,"no_of_records_at_start" = (SELECT COUNT(*) FROM VARTABLE_NAME)
END;
ELSEIF VARSTART = 0 THEN
BEGIN
UPDATE AUDIT.RUN_TEST
SET TABLE_NAME = VARTABLE_NAME
,"no_of_records_at_end" = (SELECT COUNT(*) FROM VARTABLE_NAME)
END;
END IF;
END;
$$ LANGUAGE PLPGSQL;
【问题讨论】:
标签: amazon-redshift plpgsql dynamic-sql