Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
help!!!
|
|||
|---|---|---|---|
|
#18+
есть таблица tab1(pid, predid, wrkid, dorid) pid связано с tab2.id (сведения персонала) predid связан с tab3.id (номер предприятия) wrkid связан с tab4.id (должность) dorid с tab5.id (станции) есть список станции(отдельно выданный, но записи их есть в tab5.id неизвестны заранее их) предположим стан1, стан2, стан3... есть список должности(отдельно выданный, но записи их есть в tab4.id неизвестны заранее их) предположим долж1, долж2, долж3... составлено мною запрос такой: Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. запрос гарантировано выдает одну запись так же остальные записи можно вытащить запросами: pid связано с tab2.id (сведения персонала) predid= Код: plaintext 1. 2. 3. 4. 5. 6. wrkid = Код: plaintext 1. Код: plaintext 1. 2. надо все без процедуры. Согласна даже для каждой станции и должности отдельный запрос на добавление сделать. пробовала сделать с case, но он не дает мне внутри себя insert сделать. Все запросы данные работают независимо. Так же пыталась создавать временные таблицы DECLARE GLOBAL TEMPORARY TABLE и заносить в них данные, но данные показывается что занеслись но таблица все равно пустая. 1. Можно ли как то добавить одной функцией это? Естественно не зная заранее результата запросов(работаю на тестовой БД где ключи с рабочей не совпадают) 2. Есть ли возможность вывода это во временные переменные, тока на время выполнения запроса(скрипта) 3. Так же желательно как то хотелось бы занести все Стан в массив для перебора, но это видимо можно исполнить в процедуре и никак больше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2011, 18:00 |
|
||
|
help!!!
|
|||
|---|---|---|---|
|
#18+
lubava1991, Как-то всё противоречиво. Вот по-человечески переписанный запрос для генерации predid (там, кстати, количество скобок не совпадает). Код: plaintext 1. 2. 3. 4. 5. 6. 7. Т.е. для заданой пары "станция/должность" гарантированнно в таблице будет только одно предпиятие определённого типа, которое выдаст нам следующее предприятие (предприятия организованы в цепочки или деревья). (Второй раз, кстати, уже не выдаст, если type у них не поменяем). pid (обозванный ошибочно predid?) вытаскивается уже запросом: Код: plaintext 1. 2. 3. 4. 5. Т.е. для каждой пары "станция/должность" вне зависимости от предприятия будет строго одна соответствующая запись в сведениях о персонале? Плохо с нормализацией, будут проблемы с написанием селектов, целостностью и всякими сюрпризами (типа потери информации о зависимости станция-должность-свед. о персонале при удалении всех соответствующих записей из t1). Надо бы ещё одну таблицу из (tab2.id, tab4.id, tab5.id) Ну а вставку можно было бы сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. В табличке временной ничего не остаётся, поскольку, видимо, в рамках уже другой транзакции на неё смотрите, попробуйте добавить "ON COMMIT PRESERVE ROWS" в декларацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2011, 20:50 |
|
||
|
help!!!
|
|||
|---|---|---|---|
|
#18+
отчего может ругаться на запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 10:16 |
|
||
|
help!!!
|
|||
|---|---|---|---|
|
#18+
я решила вопрос. Вышло примерно так для каждой записи: insert into LETD.PERSWRK Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. в tab таблицы переименовывать уже не стала. некогда) если кому надо будет - объясню что какая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 11:27 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=49&tid=1602032]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 312ms |
| total: | 455ms |

| 0 / 0 |
