2015-09-28 83 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: - 搜索引擎