CREATE OR REPLACE PROCEDURE GetPhotos(AlbumIDb int,IsPublic int)
AS
bb clob;
aa integer;
cc varchar2;
dd varchar2;
.
.
begin
SELECT * into aa,bb,cc,dd.... FROM Photos inner JOIN Albums
ON Albums.AlbumID = Photos.AlbumID 
WHERE (Photos.AlbumID = AlbumIDb) AND (Albums.IsPublic = IsPublic OR Albums.IsPublic = 1);
end;表中有好多字段,怎么樣才能更好的寫into后面的變量啊.簡便的方法

解决方案 »

  1.   

    教你个方法,创建一个PL/SQL记录变量
    type record record_name is(...) 定义记录类型
    aa_rec record_name   定义记录变量然后就可以直接select * into aa_rec......
      

  2.   

    当然你select 的所有字段顺序以及数据类型要与记录变量完全一致才行
      

  3.   

    用%ROWTYPE,如DECLARE
      l_emp emp%rowtype;
    BEGIN
      SELECT *
        INTO l_emp
        FROM emp
      WHERE empno = 7369;  DBMS_OUTPUT.PUT_LINE(l_emp.empno);
      DBMS_OUTPUT.PUT_LINE(l_emp.ename);
    END;
    /
      

  4.   

    我指的是在ORACLE的存儲過程里面寫啊