Stored procedures 用于显示多行的Teradata存储过程

Stored procedures 用于显示多行的Teradata存储过程,stored-procedures,dynamic,parameters,teradata,tablename,Stored Procedures,Dynamic,Parameters,Teradata,Tablename,我正在编写Teradata存储过程,以使用tablename作为参数返回完整的结果集。我写了下面的代码,但结果只有一行。请帮助我更正代码,使其显示所有行 REPLACE PROCEDURE TEST_SP1 (IN SRC_TBL_NM VARCHAR(100), OUT Result1 varchar(100),OUT Result2 Integer ) BEGIN DECLARE SqlStr VARCHAR(1000); DECLARE C1 CURSOR FOR S1; SET Sq

我正在编写Teradata存储过程,以使用tablename作为参数返回完整的结果集。我写了下面的代码,但结果只有一行。请帮助我更正代码,使其显示所有行

REPLACE PROCEDURE TEST_SP1
(IN SRC_TBL_NM VARCHAR(100), OUT Result1 varchar(100),OUT Result2 Integer )
BEGIN
DECLARE SqlStr VARCHAR(1000);
DECLARE C1  CURSOR  FOR S1;
SET SqlStr = 'SELECT Col1, count(*) FROM DBname.'|| SRC_TBL_NM || ' group by 1;';
PREPARE S1 FROM SqlStr;
OPEN C1 USING SRC_TBL_NM;
While (SQLCODE<100) Do
FETCH  C1 INTO Result1,Result2;

end While;
CLOSE C1;
END; ```
更换程序测试\u SP1
(在SRC_TBL_NM VARCHAR(100)、OUT Result1 VARCHAR(100)、OUT Result2 Integer中)
开始
声明sqlstrvarchar(1000);
为S1声明C1游标;
SET SqlStr='从数据库名中选择Col1,count(*)。| | SRC|u TBL|u NM | |'按1分组';
从SqlStr中提取S1;
使用SRC_TBL_NM打开C1;
While(sqlcode)请参见