Ораклоид
Дата: 11.08.2005 07:21:16
Уважаемые специалисты оракла!
Не совсем знаком со спецификой Oracle, поэтому возник такой вопрос:
Когда я делаю UPDATE, DELETE или INSERT в PL/SQL для прохождения запроса требуется подтверждение посредством нажатия кнопки - Commit (F10).
Каким образом в запросе указать чтобы этот commit не требовался!?
И еще, если я в другом "клиенте" (не в PL/SQL) запущу такой запрос, потребуется ли commit в этом случае.
Поиск на форуме барахлит, поэтому извиняюсь если вопрос "не слишком".
Спасибо за совет!
beginner111
Дата: 11.08.2005 07:30:15
commit фиксирует изменения сделаные инсертом делетом или апдейтом
можно еще rollback сказать тогда отменятся все изменения в данной сессии от предыдущего commita до текущего момента, следует помнить что commit может быть выполнен неявно например после выполнения команды DDL.
автор |
Когда я делаю UPDATE, DELETE или INSERT в PL/SQL |
тут ты на верное имееш ввиду
PL/SQL developer ибо PL/SQL это все же язык а не клиент
Владимор Конев
Дата: 11.08.2005 07:34:47
COMMIT - это оператор фиксации транзакции.
ROLLBACK - оператор отката транзакции.
Вообще, в оригинале, ни UPDATE, ни INSERT, ни DELETE сами по себе не требуют указывать COMMIT/ROLLBACK.
Они и так работают. НО, что бы действия, выполненные этими операторами, стали доступными и другим пользователям (читай - другими сессиями), либо точно применились к данным - необходимо выполнить COMMIT.
Если же эти операторы были выполнены по ошибке или при выполнении этих операторов возникли ошибки, то можно отменить все внесенные изменения посредством ROLLBACK-а (при условии, что ещё не было COMMIT).
Некоторые приложения , предназначенные для разработки и администрирования (SQL-Navigator, T.O.A.D.), принудительно вставляют COMMIT после оераторов DML. Но в этом случае должны быть соответствующие настройки, изменяющие поведение данного приложения.
З.Ы. А что есть такое клиент PL/SQL???