使用Fetch Next语句选择*

时间:2016-07-28 11:48:47

标签: select cursor fetch teradata

我正在使用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语句中使用它。但这不起作用。任何人都可以帮助转换吗?

0 个答案:

没有答案