|
|
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Доброй ночи, пожалуйста прошу помочь разобратся, я немного не допонимаю как правильно написать... есть таблица Код: plsql 1. 2. 3. 4. 5. 6. 7. созданию хранимую процедуру параметрами которой будут id_sotr, date_work, summa Код: plsql 1. Мне нужно чтобы если за текущую дату нет записи с адишником сотрудника то она создалась если есть то изменить Код: plsql 1. Вот тут у меня загвоздка, почитал... Как я понял мне Replace не совсем подойдёт, т.к. он сначало удаляет имеющуюся запись а потом удаляет... Нащёл вот такую штуку авторmysql> INSERT INTO table (a,b,c) VALUES (1,2,3) --> ON DUPLICATE KEY UPDATE c=c+1; Если a определяется как UNIQUE и уже содержит 1, то тогда вышеуказанная команда будет аналогична следующей: mysql> UPDATE table SET c=c+1 WHERE a=1; Внимание: если столбец b также является уникальным ключем, то UPDATE переписывается как: mysql> UPDATE table SET c=c+1 WHERE a=1 OR b=2 LIMIT 1; но не пойму как правильно написать запрос Код: plsql 1. что то вроде этого, но как я понял чтобы всё правильно сработало мне надо поставить ключивыми полями дату и ади сотрудника так? Подскажите как правильно сделать... Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2013, 00:48:10 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
ПОпробовал выполнят ьзапрос который написал Код: plsql 1. сделал поле id_sotr уникальным, всё прекрасно, но дату не сделаешь уникальынм полем, ну он на неё не реагирует вобщем... Как сделать можно хелп плз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2013, 01:55:45 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Dozentно дату не сделаешь уникальынм полема что мешает сделать Код: sql 1. и потом Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2013, 05:17:59 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
мда... P.S. И только сейчас до него дошло, что вчера он всё делал верно... Ну да я вчера так и седлал) у меня даже получилось как надо) а я это принял за не то как надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2013, 09:09:06 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
К сожаления не получается:( хранимка выполняет Код: plsql 1. делаю вот такой запрос к примеру Код: plsql 1. При этом добавлены поля id_sotr и date_work, должно как бы при смене даты заносить новую запись допустим с тем же ади сотр, но этого не просиходит он просто суммирует по сотруднику поле summa и всё, что можете посоветовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 01:30:28 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
DozentПри этом добавлены поля id_sotr и date_work вот что я иммел ввиду Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 01:34:02 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Жаль что пока ни кт оне может что нибудь посоветовать... ПОка на ум приходит такой вариант Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plsql 1. а при селекте уберать дублирующиеся записи.. ну хотя бы так он работает как мне нужно... Прошу если кто знает как может подсказать правильное решение, подскажите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 02:59:17 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
всё решил удалил из таблицы поле id_sal Код: plsql 1. 2. 3. 4. 5. 6. составным ключ будет сочиетание адисотр и даты ну и хранимка Код: plsql 1. 2. всем спасибо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 03:16:39 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Dozentвсё решил удалил из таблицы поле id_salда уж, решил так решил Dozent Код: plsql 1. ещё раз: Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 06:04:54 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
tanglirDozentвсё решил удалил из таблицы поле id_salда уж, решил так решил Dozent Код: plsql 1. ещё раз: Код: plsql 1. мне не надо увеличивать текущее значение на само себя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 22:06:06 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 22:06:37 |
|
||
|
Insert or Update в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Dozentмне не надо увеличивать текущее значение на само себя ...facepa~1.BMP RTFM , особое внимание на абзац, начинающийся со слов "You can use the VALUES(col_name) function" А если надо именно записать новое, а не прибавить новое к старому, то непонятно, чем вам не подошёл этот 14964477 вариант... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2013, 05:43:10 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=204&tid=1835877]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 318ms |

| 0 / 0 |
