|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
Имеются такие таблицы и объекты. Инсерт работает, нужно теперь обновить значения для T_STUDENTI. Но не могу понять как. Код: plsql 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
Код: plsql 1.
Ошибка: автор"A"."PASN"."P_NUM": недопустимый идентификатор ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 14:45 |
|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
Можно наполнить коллекцию UPDATE T_STUDENTI A SET A.PASN = Для этого нужно сконструировать таблицу ATS_P объектов ATS_PN ( ID INT, PN_ID REF PASNIEDZEJI ) . Т.е. REF(A) должна занимать место PN_ID в конструкторе ATS_PN: SELECT ATS_PN (NULL, REF(A)) FROM T_PASNIEDZEJI A ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2020, 21:36 |
|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
mcureenab, выполнил такую команду (если я тебя правильно понял) Код: plsql 1.
Получил такую ошибку: авторSQL Error: ORA-00932: несовместимые типы данных: ожидается -, получено USER.ATS_PN 00932. 00000 - "inconsistent datatypes: expected %s got %s" Попробовал еще так: Код: plsql 1.
Тут ошибка уже: авторSQL Error: ORA-00932: несовместимые типы данных: ожидается REF USER.PASNIEDZEJI, получено REF USER.O_PASNIEDZEJI 00932. 00000 - "inconsistent datatypes: expected %s got %s" ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2020, 23:41 |
|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
pumpk1n mcureenab, Попробовал еще так: Код: plsql 1.
Тут ошибка уже: авторSQL Error: ORA-00932: несовместимые типы данных: ожидается REF USER.PASNIEDZEJI, получено REF USER.O_PASNIEDZEJI 00932. 00000 - "inconsistent datatypes: expected %s got %s" T_PASNIEDZEJI A это O_PASNIEDZEJI Второй атрибут ATS_PN это PN_ID REF PASNIEDZEJI. Тип PASNIEDZEJI имеет O_PASNIEDZEJI.PASN PASNIEDZEJI T_PASNIEDZEJI A -> O_PASNIEDZEJI -> O_PASNIEDZEJI.PASN -> PASNIEDZEJI -(REF)> >>> ATS_PN.PN_ID -> REF PASNIEDZEJI Вроде так получается: Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 23:50 |
|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
mcureenab, Попробовал, и что значит это, я не понимаю -_- авторSQL Error: ORA-00904: "A"."PASN": недопустимый идентификатор 00904. 00000 - "%s: invalid identifier" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2020, 13:44 |
|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
pumpk1n mcureenab, Попробовал, и что значит это, я не понимаю -_- авторSQL Error: ORA-00904: "A"."PASN": недопустимый идентификатор 00904. 00000 - "%s: invalid identifier" Да. Ступил. REF к атрибутам не применим. У атрибута нет своего OID. В твоей БД нет таблиц с объектами STUDENTI или PASNIEDZEJI, так что атрибуты типа REF STUDENTI или REF PASNIEDZEJI не имеют в ней смысла. Им нет на что ссылаться. Вот так работает: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2020, 23:36 |
|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
mcureenab, Спасибо за то что помог разобраться, чуток вроде въехал. Такой вопросик еще, эта же моя конструкция работает по принципу многие ко многим? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 00:41 |
|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
pumpk1n mcureenab, Такой вопросик еще, эта же моя конструкция работает по принципу многие ко многим? В явном виде такой ассоциации у тебя нет. Есть две ассоциации 1 -> * Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
В таблицах TABLE T_STUDENTI OF O_STUDENTI; TABLE T_PASNIEDZEJI OF O_PASNIEDZEJI; атрибуты STUD и PASN "размножаются". Неявно получаются два экземпляра ассоциаций * - *, это вся таблица T_STUDENTI и вся таблица T_PASNIEDZEJI. Но обычно, если говорят об ассоциации объектов, полагают, что в информационной системе их можно будет создавать не меняя схему БД. В твоей схеме БД связать учеников и учителей как-то ещё нельзя. Для иллюстрации... Можно, создать ассоциацию O_КЛАСС, в котором числятся ученики с одной стороны, и с которым работают учителя с другой стороны. Код: plsql 1. 2. 3. 4. 5. 6.
В таблице TABLE T_КЛАСС OF O_КЛАСС можно хранить сколько угодно экземпляров ассоциации * - *. Добавлять классы можно не меняя схему БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 03:09 |
|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
mcureenab, я тогда немного не пойму, а как должна заполнятся эта таблица "класс", там же 2 коллекции со ссылками. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 13:09 |
|
Как обновить значение REF
|
|||
---|---|---|---|
#18+
mcureenab, В общем сделал так: Код: plsql 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
Теперь это может быть многие ко многим? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 13:47 |
|
|
start [/forum/topic.php?fid=52&msg=40026191&tid=1880621]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 140ms |
0 / 0 |