|
|
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
Я новичок в Oracle - помогите пожалуйста написать процедуру, которая возвращает ROWID новой записи. Я пишу так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Она даже компилируется, но из .NET я никак не могу получить значение параметра out_rowid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:13 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
balykovdron, А что ты будешь делать в .NET делать с этим rowid? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:14 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
Ну так покажи что на .нет пишешь , а лучше сразу в форум .нет . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:17 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
AmKad, Он мне нужен, чтобы потом удалять эту запись по ROWID. Даже не спрашивайте почему нельзя использовать PK. Архитекторы спроектировали таблицу где нет ни одного ключа - вообще. Предполагаются гигантские объемы - и нужна быстрая вставка значений туда. Поэтому ни индексов ни PK нет. При этом в таблицу нужно вставлять записи, выбирать по одной, удалять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:19 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
JebrailНу так покажи что на .нет пишешь , а лучше сразу в форум .нет . С .NET, думаю, у меня нет проблем - чую проблема в Оракле - что-то я делаю не так... Но если интересно - то вот Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Я уже пробовал и ExecuteReader и ExecuteScalar... Отвечает ошибкой "Oracle.ManagedDataAccess.Client.OracleException : ORA-06502: PL/SQL: ошибка числа или значения ORA-06512: на "TP_EVENT_ADD", line 9 ORA-06512: на line 1" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:22 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
balykovdronПредполагаются гигантские объемы - и нужна быстрая вставка значений туда.А построчная вставка - это действительно быстро? balykovdronПри этом в таблицу нужно вставлять записи, выбирать по одной, удалять...Ну тогда и удалять надо быстро-быстро, пока rowid у записи не сменился. И твой архитектор конечно же не опустился до того, чтобы не удосужился протестить производительность вставки в таблицу с PK из без такового. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:28 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
AmKad, Ребят, работаю с чем дали - помогите верно написать. Может как-то селектом его можно вернуть? Я не силен в Оракле - пока мне хотелось бы что-бы просто работало... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:35 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
balykovdronнужно вставлять записи, выбирать по одной, удалять...Ну ладно еще, что обновлять не требуется. А по поводу удаления, в твоем варианте можно обойтись и без rowid: Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:39 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. [/quot] Он удалит - первую попавшуюся. А мне нужно удалить запись с нужным ROWID. Но пока не про это речь - нужно получить ROWID новой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:40 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
balykovdronОн удалит - первую попавшуюся. А мне нужно удалить запись с нужным ROWID.В идеальном мире rowidов первая попавшаяся запись и есть нужная. А в неидеальном - как, в отсутствие ключа, отличить одно от другого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:47 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
balykovdronОна даже компилируетсяКак же она у тебя компилится, если второй и третий параметр не разделены запятой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:47 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
balykovdronАрхитекторы спроектировали таблицу где нет ни одного ключа - вообще. Предполагаются гигантские объемы - и нужна быстрая вставка значений туда. Поэтому ни индексов ни PK нет. И при этом вставка планируется через ХП, которую Вы тут показали - угадал? Тогда правильная последовательность действий такая: а) уволить архитекторов за полнейшую некомпетентность и нежелание читать хотя бы базовую документацию б) найти хотя бы одного специалиста, который что-то в этом смыслит в) слушаться и делать как он говорит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:48 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
сколько забавных ответов про смысл жизни и ни одного про Код: plsql 1. хотя конечно штука опасная. Ибо IOT всякие и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:06 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
У чувака проблема - он не может открутить плоский болт крестовой отвёрткой. Давайте ему поможем, плевать, что рядом тихо плавится твэл в четвёртом энергоблоке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:09 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
Ну от рядом плавящегося ничего не спасет, ни PK, ни ROW_SCN ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:12 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
balykovdron А попробуй-ка параметр создать так: Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:30 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
С .NET не работаю но для возврата ROWID обычно использую функцию Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:48 |
|
||
|
Вернуть ROWID из хранимой процедуры
|
|||
|---|---|---|---|
|
#18+
pamibolно для возврата ROWID обычно использую функциюВот! Это принципиально меняет дело! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:52 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39391249&tid=1886578]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
186ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 549ms |

| 0 / 0 |
