|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
Приветствую всех. У меня выбивает ошибку при попытке создать константу в ALTER TABLE, так как хочу сослаться на переменную. А пробую создать динамическое подключение, чтобы обойти этот момент, но что-то не получается. Так как если ставлю значение default (0) или любую дату в константу - все работает. Мой код здесь: https://pastebin.com/p0xqbQMC Принцип кода таков: 1. Выбираю дату в текущем месяце (обычно 1 число текущего месяца) 2. Высчитываю количество дней между 1 число и сегодняшней датой и записываю этот перечень в таблицу. 3. Создаю таблицу для выгрузки данных из процедуры процедуры, которая высчитывает поступления по дням. 4. Создаю курсор (это не обязательно, просто хотел потренироваться, до этого ни разу его не использовал) и перебираю даты из текущего месяца. 5. Поскольку процедура get_otchet создана не мной и доступа к ней я не имею, в ней нет даты формирования отчета (за какой день). Я хочу в конце всех данных, которая выгружает процедура в таблицу вставить дату, за которую был сформирован отчет. В общем по итого у меня ошибка Msg 3728, Level 16, State 1, Line 58 'df_datecurra' is not a constraint. Msg 3727, Level 16, State 0, Line 58 Could not drop constraint. See previous errors. Может у Вас есть идеи? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 17:20 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
gerzzog, Запрос не смотрел, но первый шаг при отладке динамических запросов - это их вывод на экран (print @sql) вместо выполнения ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 17:27 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
msLex, попробовал - первый раз, когда проганяет запрос - четко показывает. Потом идет ошибка и на второй заход цикл не идет Ошибка: Msg 3728, Level 16, State 1, Line 59 'df_datecurra' is not a constraint. Msg 3727, Level 16, State 0, Line 59 Could not drop constraint. See previous errors. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 17:38 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
gerzzog msLex, попробовал - первый раз, когда проганяет запрос - четко показывает. Потом идет ошибка и на второй заход цикл не идет Ошибка: Msg 3728, Level 16, State 1, Line 59 'df_datecurra' is not a constraint. Msg 3727, Level 16, State 0, Line 59 Could not drop constraint. See previous errors. Но опять же. Если поставить дефолтное значение 0 или любую дату - все сформирует ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 17:43 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
А, у вас констрейнт создается динамически, а удаляется обычным кодом. Так не выйдет , оберните ALTER TABLE #tmpBusicasapodnyam1 DROP CONSTRAINT df_datecurra в EXEC ('...') ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 17:50 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
msLex, я пробовал. Дописал этот код: SET @sql_str ='alter table #tmpBusicasapodnyam1 drop constraint df_datecurra' EXEC(@sql_str) Не помогает, к сожалению. Все та же ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 17:57 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
gerzzog, ALTER TABLE не создаёт никаких констант. автор2. Высчитываю количество дней между 1 число и сегодняшней датой и записываю этот перечень в таблицу. Это что за поток сознания? Количество дней - это единственное число, а не список. авторСоздаю таблицу для выгрузки данных из процедуры процедуры WTF процедура процедуры? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 17:58 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
Владислав Колосов gerzzog, ALTER TABLE не создаёт никаких констант. автор2. Высчитываю количество дней между 1 число и сегодняшней датой и записываю этот перечень в таблицу. Это что за поток сознания? Количество дней - это единственное число, а не список. авторСоздаю таблицу для выгрузки данных из процедуры процедуры WTF процедура процедуры? Сначала высчитываю количество дней потом отдельно загоняю даты в таблицу. Это два отдельных процесса. WTF процедура процедуры? - опечатался. Просто запускаю процедуру, которая выдает данные по продажам по каждому дню в таблицу ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 18:04 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
выполните и гляньте что у вас там "напритовалось", часть вопросов отпадет. Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 18:47 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
gerzzog Мой код здесь: ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 18:52 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
msLex, запрос проработал и такие сообщения: (1 row affected) (1 row affected) (1 row affected) (1 row affected) alter table #tmpBusicasapodnyam1 add constraint df_datecurra default Dec 10 2021 12:00AM for datecurra alter table #tmpBusicasapodnyam1 add constraint df_datecurra default Dec 11 2021 12:00AM for datecurra alter table #tmpBusicasapodnyam1 add constraint df_datecurra default Dec 12 2021 12:00AM for datecurra alter table #tmpBusicasapodnyam1 add constraint df_datecurra default Dec 13 2021 12:00AM for datecurra (0 rows affected) Completion time: 2021-12-14T07:56:26.3366993+03:00 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 07:57 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
alexeyvg gerzzog Мой код здесь: Вот полный код здесь выкладываю: Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 07:59 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
msLex, кстати, если я запускаю: Код: sql 1. 2. 3. 4. 5. 6.
то пишет ошибку alter table #tmpBusicasapodnyam1 add constraint df_datecurra default Dec 10 2021 12:00AM for datecurra Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '10'. alter table #tmpBusicasapodnyam1 add constraint df_datecurra default Dec 11 2021 12:00AM for datecurra Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '11'. alter table #tmpBusicasapodnyam1 add constraint df_datecurra default Dec 12 2021 12:00AM for datecurra Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '12'. alter table #tmpBusicasapodnyam1 add constraint df_datecurra default Dec 13 2021 12:00AM for datecurra Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '13'. это на даты, которые я из datetime в varchar перевожу ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 08:49 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
gerzzog, а вас ничего не смущает что строка : Код: sql 1.
синтаксически неправильна? и на "подумать" где там у вас чего не хватает ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 09:07 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
felix_ff gerzzog, а вас ничего не смущает что строка : Код: sql 1.
синтаксически неправильна? и на "подумать" где там у вас чего не хватает пытаюсь "кавычки" расставить, но что-то не хочет. И скобку возле кавычек. Где правильнее это делать? вот так делаю: Код: sql 1.
и ошибка: alter table #tmpBusicasapodnyam1 add constraint df_datecurra default "Dec 10 2021 12:00AM" for datecurra Msg 128, Level 15, State 1, Line 1 The name "Dec 10 2021 12:00AM" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted. alter table #tmpBusicasapodnyam1 add constraint df_datecurra default "Dec 11 2021 12:00AM" for datecurra Msg 128, Level 15, State 1, Line 1 The name "Dec 11 2021 12:00AM" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted. alter table #tmpBusicasapodnyam1 add constraint df_datecurra default "Dec 12 2021 12:00AM" for datecurra Msg 128, Level 15, State 1, Line 1 The name "Dec 12 2021 12:00AM" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted. alter table #tmpBusicasapodnyam1 add constraint df_datecurra default "Dec 13 2021 12:00AM" for datecurra Msg 128, Level 15, State 1, Line 1 The name "Dec 13 2021 12:00AM" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 09:15 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
Все, готово! Корректный код: Код: sql 1.
Всем большое спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 09:37 |
|
Ошибка в ALTER TABLE
|
|||
---|---|---|---|
#18+
gerzzog Все, готово! Корректный код: Код: sql 1.
Всем большое спасибо за помощь! Быстро, четко сработал Это нормально: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 12:30 |
|
|
start [/forum/topic.php?fid=46&fpage=7&tid=1684016]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 235ms |
total: | 388ms |
0 / 0 |