2015-09-28 44 views
2

我可以直接打开并在开始结束块中打印光标而不使用循环吗? 或者不读取每一列并为每一行单独打印。打印Oracle Pl/sql光标

+0

这取决于您正在使用的SQL客户端。 –

回答

0

如果要显示一条记录,则不需要在光标中循环。 如果多个,那么你需要循环游标。 例如在**Test_Project**表具有两个列: -

projectid   projectname 

p2     Programming  
p1     Search Engine  
p3     Testing 

--Below是不使用循环

显示一个记录的代码
Declare 

    cprojname varchar2(2000) ; 

    CURSOR c1 
    IS 
     select project_name from test_project WHERE projectid='p1'; 

BEGIN 

    OPEN c1; 
    FETCH c1 INTO cprojname; 

    if c1%notfound then 
     cprojname := 'no data'; 
    else 
    dbms_output.put_line(cprojname); 

    end if; 

    CLOSE c1; 

END; 

O/P: - 搜索引擎