例:DECLARE VSTR VARCHAR2(100);
BEGIN
  VSTR:='SELECT * FROM TABLE1 WHERE TABLE1.SYSNO=552';--ORACLE怎样执行这个SQL (SQLSERVER是用 EXEC(VSTR)), 
--才能得到与SELECT * FROM TABLE1 WHERE TABLE1.SYSNO=552 相同的结果END;

解决方案 »

  1.   

    定义一个cursor,
    然后
    str_sql := 'SELECT * FROM TABLE1 WHERE TABLE1.SYSNO=552';
    open cur for str_sql;
    然后对cur操作就可以了
      

  2.   

    UandM:
    能详细一点吗? 我还是没搞定
      

  3.   

    呵呵,
    declare 
     type curtype is ref cursor;
     cur curtype;
     record table1%rowtype;
     sql_state varchar2(1000);
    begin 
     sql_state:='SELECT * FROM TABLE1 WHERE TABLE1.SYSNO=552';
     open cur for sql_state;
     loop
     fetch cur into record ;
              exit when cur%notfound;
     dbms_output_putline(record.你要的字段);
     end Loop;
     close cur;
    end;
      

  4.   

    UandM: 我给错分了, 分本来要给你的. 下次再给