我正在使用CURSOR内的FETCH STATEMENT。我需要将SQL服务器脚本转换为Teradata。
以下scnerio正在使用Teradata(SELECT列)
SQL SERVER输入:---------------------------------------
DECLARE vend_cursor CURSOR
FOR SELECT cnic FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
Teradata输出:---------------------------------
replace procedure #anonymous# ()
BEGIN
declare var#0 VARCHAR(100);
DECLARE vend_cursor CURSOR FOR
SELECT
cnic
FROM departments;
OPEN vend_cursor;
FETCH NEXT FROM vend_cursor INTO
var#0;
END;
但我需要转换以下脚本(其中选择列替换为Select *) SQL SERVER输入:---------------------------------------
DECLARE vend_cursor CURSOR
FOR SELECT * FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
Teradata输出:---------------------------------
replace procedure #anonymous# ()
BEGIN
declare var#0 VARCHAR(100);
DECLARE vend_cursor CURSOR FOR
SELECT
cnic
FROM departments;
OPEN vend_cursor;
FETCH NEXT FROM vend_cursor INTO
var#0;
END;
需要修改输出。现在我需要运行select *语句,因此需要修改fetch next。一个可能的解决方案是创建一种新类型的varray,并在INTO之后的fetch语句中使用它。但这不起作用。任何人都可以帮助转换吗?