Faq по oracle

Питання: Підкажіть, як отримати в Oracle список всіх первинних ключів у вигляді: [id_column], [id_table]

Відповідь: select col.column_name, con.table_name from user_constraints con, user_cons_columns col where col.constraint_name = con.constraint_name and con.constraint_type = 'P';

Це буде поіменний перелік. Ідентифікатори таблиць можна взяти з user_tables, а стовпців - з user_tab_columns.

Питання: Як правильно вибрати кодову сторінку при інсталяції?

При інсталяції необхідно вибирати "Русский", навіть якщо це пробна установка.

Однак часто ще зустрічаються СУБД Oracle з встановленої CHARSET = WE8ISO8859P1 за замовчуванням. Іноді це робиться через незнання, частіше з думкою, що ця інсталяція тимчасова, ніколи не пізно буде змінити; а деякі версії, наприклад, що розповсюджувалася через Інтернет trial версія Personal Oracle for Windows 3.1, не мали локальних кодувань.

Коли при цьому реально виникають проблеми:
  • коли система переноситься на платформу з іншого основним кодуванням,
  • коли необхідно реекспортувати в таку систему кілька таблиць з іншого кодуванням,
  • незручності типу неможливості переведення в інший регістр російських 'Ч' і 'Я' (тимчасово можна коригувати написанням локалізованих версій функцій RLOWER () і RUPPER ()).

На жаль Oracle Corp. не передбачила легальних (документованих) способів зміни кодувань СУБД і додатків

Питання: Як можна вирішити проблеми, пов'язані з невірно заданої кодової сторінкою?

відповідь:
  1. Зміна DATABASE CHARSET

Перекодування даних тут не відбувається, змінюється лише позначка для Oracle. Ви повинні точно представляти в якому кодуванні ваші дані знаходяться.

Перш, ніж використовувати цей метод перевірте, чи присутній необхідна вам кодування в списку допустимих.

SQL> select value from V $ NLS_VALID_VALUES
  • where parameter = 'CHARACTERSET'
  • and (value like 'RU%' or value like 'CL%')

    Схожі статті