Stored procedures 通过Teradata存储过程动态插入

Stored procedures 通过Teradata存储过程动态插入,stored-procedures,dynamic,insert,teradata,procedure,Stored Procedures,Dynamic,Insert,Teradata,Procedure,我试图运行Insert语句,使用Teradata存储过程将数据加载到表中。这里我尝试输入表名,Databasename作为参数。我的存储过程编译后运行良好。但它并没有向表中插入任何数据。有人能帮我做这个吗。下面是我正在使用的查询 REPLACE PROCEDURE DB.TEST_SP ( IN SRC_DB_NM VARCHAR(30) , IN SRC_TBL_NM VARCHAR(30) , OUT MESSAGE VARCHAR(200) ) DYNAMIC RESULT

我试图运行Insert语句,使用Teradata存储过程将数据加载到表中。这里我尝试输入表名,Databasename作为参数。我的存储过程编译后运行良好。但它并没有向表中插入任何数据。有人能帮我做这个吗。下面是我正在使用的查询

REPLACE PROCEDURE DB.TEST_SP
(
    IN SRC_DB_NM VARCHAR(30)
,   IN SRC_TBL_NM VARCHAR(30)
,   OUT MESSAGE VARCHAR(200)
)
DYNAMIC RESULT SETS 1
 
BEGIN
 
    DECLARE QUERY1 VARCHAR(200);
    DECLARE RESULT1 VARCHAR(200);
    DECLARE REC_COUNT INTEGER DEFAULT 0;
    DECLARE STATUS CHAR(10) DEFAULT '00000';  
    DECLARE C1 CURSOR FOR S1; 
     
    DECLARE EXIT HANDLER FOR SQLEXCEPTION,SQLWARNING
    BEGIN
        SET STATUS = SQLCODE;
        IF(TRIM(STATUS)) = '3807' THEN
            SET MESSAGE = 'PASSED TABLE '||SRC_DB_NM||'.'||SRC_TBL_NM||' DOES NOT EXIST';
        ELSE
            SET MESSAGE = 'LOADED';
        END IF;
    END;
 
        BEGIN        
            SET QUERY1 ='INSERT INTO TABLE1 SELECT     ColX   , count(*)  from DB.table2  where Col in ( SELECT Col1 FROM ' || SRC_DB_NM || '.' || SRC_TBL_NM || ' where ColY = 999 ) group by 1;' ;
          EXECUTE IMMEDIATE QUERY1;
        
            PREPARE S1 FROM QUERY1;
            OPEN C1 USING SRC_DB_NM,SRC_TBL_NM;
            FETCH C1 INTO RESULT1;
            SET MESSAGE = RESULT1;
        END;
         
END;

为什么尝试准备/打开光标,查询1不是选择?我删除了准备和打开光标。。。还是同一个问题。请给我正确的代码以满足我的要求。请参阅