游标select*和Fetch Next语句
我正在处理游标内的FETCH语句。我需要将SQL server脚本转换为Teradata 以下scnerio正在Teradata中工作(选择列) SQL SERVER输入:---------------------------------------游标select*和Fetch Next语句,select,cursor,fetch,teradata,Select,Cursor,Fetch,Teradata,我正在处理游标内的FETCH语句。我需要将SQL server脚本转换为Teradata 以下scnerio正在Teradata中工作(选择列) SQL SERVER输入:--------------------------------------- DECLARE vend_cursor CURSOR FOR SELECT cnic FROM departments; OPEN vend_cursor FETCH NEXT FROM vend_cursor; replace
DECLARE vend_cursor CURSOR
FOR SELECT cnic FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
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;
DECLARE vend_cursor CURSOR
FOR SELECT * FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
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;
Teradata输出:---------------------------------
DECLARE vend_cursor CURSOR
FOR SELECT cnic FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
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;
DECLARE vend_cursor CURSOR
FOR SELECT * FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
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列替换为select*)
SQL SERVER输入:---------------------------------------
DECLARE vend_cursor CURSOR
FOR SELECT cnic FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
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;
DECLARE vend_cursor CURSOR
FOR SELECT * FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
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;
Teradata输出:---------------------------------
DECLARE vend_cursor CURSOR
FOR SELECT cnic FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
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;
DECLARE vend_cursor CURSOR
FOR SELECT * FROM departments;
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;
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语句中使用它。但这是行不通的。有人能帮我转换一下吗