Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему нельзя truncate в хранимой процедуре?! / 14 сообщений из 14, страница 1 из 1
02.05.2017, 19:41
    #39447551
мегамозг
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
Сабж.
Что за безобразие?!
truncate нельзя - рэйзится pls-00103, а delete без проблем компилируется и выполняется!
В чём дело?!
И где про такие нелепые ограничения можно прочитать? В хранимых процедурах. Возможно, и в multi statement table-valued functions тоже есть подобные засады?
Начал (для учебных целей) переводить свой домашний учёт с ms sql 2005 на oracle 10g XE - такое впечатление, что хожу по граблям.
В t-sql таких проблем нет.
ЗЫ И ещё интересуют временные таблицы - живущие до конца коннекшна. С ними, как я понял, в оракле тоже не всё так просто?
...
Рейтинг: 0 / 0
02.05.2017, 19:42
    #39447552
AlexFF__|
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
мегамозг,

Оставайся на ms sql
...
Рейтинг: 0 / 0
02.05.2017, 19:56
    #39447557
leonmbs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
мегамозг,

потому что delete это DML а trunkate это DDL

попросту говоря trunkate пересоздает таблицу а не удаляет данные
...
Рейтинг: 0 / 0
02.05.2017, 20:08
    #39447561
мегамозг
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
leonmbsмегамозг,

потому что delete это DML а trunkate это DDL

попросту говоря trunkate пересоздает таблицу а не удаляет данные
Спасибо, чел, т.е., получается, ddl в хп запрещён?
Для меня это странно.
Я вчера начал фейерштейна-прибыла читать, до этого места ещё не дошёл, видимо.
Сотни раз писал в хп create table и тому подобное.
Ладно, учту, буду как-то жить дальше с этим.
Не знаю пока, как.
...
Рейтинг: 0 / 0
02.05.2017, 20:31
    #39447563
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
мегамозгбуду как-то жить дальше с этим.
Не знаю пока, как
"Умный в гору не пойдёт, умный гору обойдёт..."

Oracle DDL "execute immediate"
...
Рейтинг: 0 / 0
02.05.2017, 20:42
    #39447566
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
...
Рейтинг: 0 / 0
02.05.2017, 20:53
    #39447570
Почему нельзя truncate в хранимой процедуре?!
мегамозг, а в чем безобразие? и к чему такие эмоции?

Просто ты ПРИВЫК к одной системе, а теперь столкнулся с другой. У тебя наверное в жизни много удивлений. Ты так же орешь, когда с механики на автомат пересаживаешься? "Что за безобразие, где моя 3-я педаль?! В целях обучения пересел со своей ржавой семерки на audi. Там таких проблем не было."
...
Рейтинг: 0 / 0
02.05.2017, 21:16
    #39447581
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
мегамозгЗЫ И ещё интересуют временные таблицы - живущие до конца коннекшна.
Ничто так в мире не постоянно, как временное...
Временные таблицы в Oracle, по сути ничем, не отличаются от постоянных, чего нельзя сказать об их содержимом...особенно учитывая, что теоретически её могут использовать неограниченное количество клиентов, причём одновременно, но дальше собственного носа (собственных данных), никто не видит, чем там занимается сосед...
http://www.sql.ru/blogs/oracleandsql/1373 Временные таблицы используются в Oracle для хранения данных, которые относятся к одной сессии или одной транзакции.
...
Рейтинг: 0 / 0
02.05.2017, 21:30
    #39447588
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
мегамозгВ чём дело?!
В кривых руках, не способных открыть документацию.

мегамозгНачал (для учебных целей) переводить свой домашний учёт с ms sql 2005 на oracle 10g XE
Не надо. Есть замечательная, великолепная, отлично подходящая для тебя СУБД MSSQL. Не лезь в Oracle, а?
...
Рейтинг: 0 / 0
03.05.2017, 10:25
    #39447720
Почему нельзя truncate в хранимой процедуре?!
мегамозг,

Забей на этот кривой, бесперспективный, умирающий оракл и переводи на PostgreSQL(Opensource, Enterprise). В ней и DDL в транзакциях работают(и в функциях) и truncate. Тем более сейчас идет импортозамещение во все поля.
...
Рейтинг: 0 / 0
03.05.2017, 11:00
    #39447743
rf_mail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
мегамозгСабж.
Что за безобразие?!
truncate нельзя - рэйзится pls-00103, а delete без проблем компилируется и выполняется!
В чём дело?!
И где про такие нелепые ограничения можно прочитать? В хранимых процедурах. Возможно, и в multi statement table-valued functions тоже есть подобные засады?
Начал (для учебных целей) переводить свой домашний учёт с ms sql 2005 на oracle 10g XE - такое впечатление, что хожу по граблям.
В t-sql таких проблем нет.
ЗЫ И ещё интересуют временные таблицы - живущие до конца коннекшна. С ними, как я понял, в оракле тоже не всё так просто?

MS SQL И Oracle это вещи несравнимые.
Вам нужно взять документацию http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/toc.htm
прочитав ее, 99% вопросов для своего домашнего проекта вы снимете
...
Рейтинг: 0 / 0
03.05.2017, 11:39
    #39447768
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
rf_mailMS SQL И Oracle это вещи несравнимыеони даже две простые строки сортируют по разному
Код: sql
1.
2.
3.
4.
select cast(1 as int) id
union all
select cast(null as int)
order by id

id<null>1
Код: plsql
1.
2.
3.
4.
SELECT CAST(1 AS INT) ID FROM dual
UNION ALL
SELECT CAST(NULL AS INT) FROM dual
ORDER BY ID

ID1<null>
...
Рейтинг: 0 / 0
03.05.2017, 12:13
    #39447778
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
andreymx,

Давай ещё вспомним про ansi_nulls, пустую строку и т.п.
...
Рейтинг: 0 / 0
03.05.2017, 12:29
    #39447790
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя truncate в хранимой процедуре?!
ОракалИндусскийВ ней и DDL в транзакциях работают(и в функциях) и truncate.В оракле тоже ddl работает в функциях. То, что ddl условно транзакционен хорошо, но вот то, что транзакции не работают в функциях, куда более актуальный вопрос.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему нельзя truncate в хранимой процедуре?! / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]