МН Oracle / SQL: Как распечатать тип таблицы

у Кого-либо есть хороший опыт с "портом" базы данных от SQL Server до MySQL?

Это должно быть довольно болезненно! Я переключил версии MySQL от 4.x до 5.x, и различные операторы не будут больше работать, когда они привыкли для. Запрос анализатор был "улучшен" так операторы, которые ранее были настроены для производительности, не будет работать больше как ожидалось.

урок, извлеченный из работы с базой данных MySQL на 500 ГБ: это - тонкая тема и почти тривиальный!

5
задан Ben 4 January 2012 в 00:00
поделиться

2 ответа

dbms_output.put_line(v_temp_tabtype(i).myString);
4
ответ дан 13 December 2019 в 05:39
поделиться

У Oracle есть объекты, но они ... разные. Не совсем уверен в своем вопросе, хотите ли вы увидеть значения свойств или действительно увидеть тип.


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

Теперь запустите для него некоторый код.


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;

Конечно, вы можете создать методы для объекта, который будет возвращать информация для вас немного проще.


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;
/

Теперь вы можете вызывать функции объекта, что упрощает чтение imo.


DECLARE
  mytype    MY_TYPE;
BEGIN
  mytype := MY_TYPE('AGAIN','0');
  DBMS_OUTPUT.PUT_LINE(mytype.toString);
  DBMS_OUTPUT.PUT_LINE(mytype.getType);
END;
8
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: