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

Oracle PL / SQL:Cách in một loại bảng

Oracle có các đối tượng nhưng nó ... khác. Không chắc chắn chính xác với câu hỏi của bạn nếu bạn muốn xem giá trị của các thuộc tính hoặc nếu bạn thực sự muốn xem loại.


CREATE OR REPLACE TYPE MY_TYPE IS OBJECT ( 
  MyString Varchar(20)
  , counter Number(9) 
);

Bây giờ hãy chạy một số mã cho nó.


DECLARE
    myType  MY_TYPE;
BEGIN
  myType := MY_TYPE('ABC123',0);
  -- To see the values reference the properties
  DBMS_OUTPUT.PUT_LINE(myType.mystring);
  -- To see they TYPE of the OBJECT
  DBMS_OUTPUT.PUT_LINE(SYS.ANYDATA.CONVERTOBJECT(myType).getTypeName());
END;

Tất nhiên, bạn có thể tạo các phương thức trên đối tượng để trả về thông tin cho bạn dễ dàng hơn một chút.


CREATE OR REPLACE TYPE MY_TYPE IS OBJECT ( 
  MyString Varchar(20)
  , counter Number(9)
 , MEMBER FUNCTION getType RETURN VARCHAR2
 , MEMBER FUNCTION toString RETURN VARCHAR2
)
/

CREATE OR REPLACE TYPE BODY MY_TYPE 
AS
  MEMBER FUNCTION getTYPE RETURN VARCHAR2 IS
    BEGIN
      RETURN SYS.ANYDATA.CONVERTOBJECT(SELF).getTypeName();
    END;
  MEMBER FUNCTION toString RETURN VARCHAR2 IS
    BEGIN
      RETURN 'MY_TYPE('||self.mystring||','||self.counter||')';
    END;
END;
/

Bây giờ, bạn có thể gọi các hàm trên đối tượng để đọc imo dễ dàng hơn.


DECLARE
  mytype    MY_TYPE;
BEGIN
  mytype := MY_TYPE('AGAIN','0');
  DBMS_OUTPUT.PUT_LINE(mytype.toString);
  DBMS_OUTPUT.PUT_LINE(mytype.getType);
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CẬP NHẬT TRƯỜNG HỢP NESTED

  2. Làm cách nào để biết id trước khi lưu một đối tượng trong jpa

  3. Các chức năng ngày giờ của Oracle (Danh sách đầy đủ)

  4. Cách tối ưu hóa SQL cập nhật chạy trên bảng Oracle với 700 triệu hàng

  5. Hàm Oracle biên dịch thành công nhưng ném lỗi khi thực thi PLS-00221:không phải là một thủ tục hoặc không được xác định