Допустимыми операторами DML являются SELECT (выбрать), INSERT (вставить), UPDATE (обновить) и DELETE (удалить). Каждый оператор действует в соответствии со своим названием: с помощью SELECT в таблице выбираются строки, указанные в условии WHERE; посредством INSERT к таблице базы данных добавляются строки; с помощью UPDATE модифицируются строки, указанные в условии WHERE; с помощью DELETE эти строки удаляются. Помимо условия WHERE, в этих операторах могут применяться и другие конструкции (см. ниже).
Когда SQL-операторы выполняются из SQL*Plus, результаты выводятся на экран (см. рис. 4.1). Для операторов UPDATE, INSERT и DELETE SQL*Plus возвращает число обработанных строк, а для оператора SELECT — строки, указанные в запросе.
Все значения, используемые для изменения содержимого таблицы classes, жестко программируются, т.е. они известны во время написания этого оператора. В PL/SQL ограничения на применение переменных отсутствуют. Переменные могут указываться в любом месте SQL-оператора, где разрешены выражения. Переменные, используемые таким образом, называются переменными присваивания или переменными привязки (bind variable). Например, в приведенном операторе UPDATE можно заменить жестко заданное значение, обозначающее число зачетов, переменной привязки:
Выходные данные запросов также можно сохранить в переменных. В SQL-операторе разрешается заменять переменными только выражения. Особенно отметим, что имена таблиц и столбцов должны быть известны. Дело в том, что при ранней привязке имена объектов Oracle должны быть известны во время компиляции. По определению, значение переменной до выполнения программы неизвестно. Чтобы обойти это ограничение, можно вновь воспользоваться динамическим SQL.
< Предыдущая | Следующая > |
---|