Commit - что это такое?

Ораклоид
Дата: 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 это все же язык а не клиент
beginner111
Дата: 11.08.2005 07:31:53
автор
И еще, если я в другом "клиенте" (не в PL/SQL) запущу такой запрос, потребуется ли commit в этом случае.

да потребуется
надо просто набрать эту команду и все
Владимор Конев
Дата: 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???
Ораклоид
Дата: 11.08.2005 07:37:55
Дело в том что я пишу:
Insert into ttt (fff)
select 1 from dual 
commit
т.е. указываю ему коммит а он не проходит, чё делать?
Ораклоид
Дата: 11.08.2005 07:40:19
PL/SQL - Я действительно имел в виду developer (экскъюзми)
beginner111
Дата: 11.08.2005 07:42:39
Insert into ttt (fff);
select 1 from dual ;
commit;
а так ?
Ораклоид
Дата: 11.08.2005 07:46:41
beginner111
"Invalid character"
и встает на первую - ;
beginner111
Дата: 11.08.2005 07:53:11
Insert into ttt values
если ffff это строка то 'ffff'
beginner111
Дата: 11.08.2005 07:56:28
так же я не знаю как в девелопере
а в жабе несколько sql операторов запускать не так как один то есть 1 делаеш просто запустить а когда несколько запустить как скрипт