Познакомьте меня с расширениями Oracle PL / SQL - PullRequest
0 голосов
/ 13 мая 2009

Я опытный пользователь SQL; Я уверен, что создаю схему и оптимизирую запросы в ANSI-SQL, для Sybase, MS SQL Server, MySQL или postgresql. Я понимаю объединения, подзапросы, индексы и т. Д., Поэтому мне не нужно повторять то, что не отличается от Oracle.

Я пойду на работу, которая потребует использования Oracle. Укажите мне онлайн ресурсы, разработанные не как "Введение в SQL для Oracle", а как "PL / SQL для людей, которые уже понимают SQL".

Меня особенно интересует следующее: краткое руководство по расширениям PL / SQL и оптимизация запросов Oracle.

Ответы [ 5 ]

4 голосов
/ 13 мая 2009

Руководство пользователя и справочник по Oracle® Database PL / SQL (10 г) Действительно, что еще можно пожелать?

Если вы новичок в Oracle, я бы также посоветовал вам потратить немного времени на изучение его модели транзакций, поскольку она слегка отличается от SQL Server, что может вас укусить. Здесь хорошая статья об этом. Другой постер, предложивший прочитать Кайта, стоит на месте.

3 голосов
/ 13 мая 2009

Вы должны знать, что PL / SQL является более или менее полным языком программирования. Сумасшедшие люди, подобные мне, создают приложения, в которых большая часть работы выполняется в пакетах PL / SQL на сервере.

1 голос
/ 13 мая 2009

asktom.oracle.com было бы полезно просмотреть.

Я предлагаю вам изучить следующие мощные функции: -

  • аналитические функции
  • материализованных представлений
  • конвейерные функции PL / SQL
0 голосов
/ 13 мая 2009

Читайте статьи и книги Стива Фюрштайна, он является одним из главных евангелистов PL / SQL.

Сосредоточьтесь на их структурах данных PL / SQL, таких как курсоры, ассоциативные массивы, таблицы (PL / SQL, а не SQL) и т. Д.

Одна вещь, которую нужно иметь в виду при поиске кода Oracle, вы столкнетесь со старым кодом намного больше, чем с новым кодом. Старайтесь учиться новому, а не старому.

Например, старый способ зацикливания запроса состоит в создании курсора и последующем цикле while над ним, пока он ничего не возвращает. Сейчас вы можете неявно создавать цикл, подобный этому:

FOR Test IN (Select Ct from TableCT) LOOP
 Sum := Sum + Test.Ct;
END LOOP;

Для оптимизации запросов получите SQL Developer и запустите план объяснения. Это может занять некоторое время, чтобы понять, но это лучший способ, который я нашел. Кроме того, если вы еще не столкнулись с этим, предложение WITH творит чудеса для оптимизации запросов.

0 голосов
/ 13 мая 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...