關於plsql表的一段程式碼

lihy114發表於2013-09-22
DECLARE
   l_salaries   DBMS_SQL.number_table;
   l_total      INTEGER := 0;
BEGIN
      UPDATE plch_employees
         SET salary = salary / 2
       WHERE LENGTH (last_name) > 8
   RETURNING salary
        BULK COLLECT INTO l_salaries;

   FOR indx IN 1 .. l_salaries.COUNT
   LOOP
      l_total := l_total + l_salaries (indx);
   END LOOP;

   DBMS_OUTPUT.put_line (l_total);
END;
/

這是論壇中一個帖子上的題目,不明白的是DBMS_SQL.number_table這種資料型別以及RETURNING salary
        BULK COLLECT INTO l_salaries這種用法

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28803801/viewspace-772978/,如需轉載,請註明出處,否則將追究法律責任。

相關文章