Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle SYS_REFCURSOR không thể sử dụng làm kiểu trả về

Tôi không chắc bạn đang cố gắng đạt được điều gì nhưng tôi nghĩ bạn đã hiểu sai khái niệm về đối tượng trong oracle.;

sinh viên thả bảng;

Tạo thông số kiểu và nội dung.

create or replace type student_t as object(
stno char(4),
dob date,
member function getYear return number

)
;

create or replace type body student_t as

    member function getYear return number is 
    begin 
            return  EXTRACT(YEAR FROM self.dob);
    end;

end;

Tạo bảng các studnet

create table student of student_t;

Điền tabel

declare 
  v_student student_t;
begin 
for i in 0 .. 10 loop 
  insert into student values(student_t('ST'||+mod(i,3),to_date('01-01-'||to_char(2000+i),'dd-mm-yyyy')));
end loop;
commit;
end; 

Và truy vấn.

select s. *, s.getYear () from student s;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RobotFramework:cx_Oracle - FAIL:InternalError:Không có lỗi Oracle?

  2. Oracle:Sử dụng truy vấn con trong trình kích hoạt

  3. Cách lấy tên lớp trình điều khiển (không phải tên trình điều khiển) từ kết nối jdbc

  4. Lỗi SQL:ORA-00933:Lệnh SQL không kết thúc đúng cách

  5. [A] Oracle.ManagedDataAccess.Client.OracleParameter không thể được truyền sang [B] Oracle.ManagedDataAccess.Client.OracleParameter