Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибка Incorrect syntax near ';
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть запрос USE KIS_VIEW GO DECLARE @catalog nvarchar(300); DECLARE @schema nvarchar(300); DECLARE @name nvarchar(300); DECLARE @definition nvarchar(300); DECLARE @option nvarchar(300); DECLARE @updatatable nvarchar(300); DECLARE cur CURSOR FOR SELECT * FROM INFORMATION_SCHEMA.VIEWS; OPEN cur; FETCH NEXT FROM cur INTO @catalog, @schema, @name, @definition, @option, @updatatable; EXECUTE('IF OBJECT_ID(''' + @name + ''') IS NOT NULL DROP VIEW ' + @name + ';'); WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM cur INTO @catalog, @schema, @name, @definition, @option, @updatatable; EXECUTE('IF OBJECT_ID(''' + @name + ''') IS NOT NULL DROP VIEW ' + @name + ';'); END CLOSE cur; DEALLOCATE cur; GO При попытке выполнить его в MSSMS получаю ошибку. Сообщение 102, уровень 15, состояние 1, строка 3 Incorrect syntax near ';'. Хотя по документации на msdn вроде все корректно, синтаксис контроль проходит. Подскажите, пожалуйста, где именно ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:23 |
|
||
|
Ошибка Incorrect syntax near ';
|
|||
|---|---|---|---|
|
#18+
Dr.Livsi, замените Execute на print и посмотрите на команду который формирует Ваш DSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:34 |
|
||
|
Ошибка Incorrect syntax near ';
|
|||
|---|---|---|---|
|
#18+
Dr.Livsi, 1. зачем 2 раза одно и тоже? 2. 1й вызов из за пустого курсора даст ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:35 |
|
||
|
Ошибка Incorrect syntax near ';
|
|||
|---|---|---|---|
|
#18+
TaPaK, По-моему последний шаг цикла не получит данные из курсора, но попытается выполнить EXECUTE(...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:42 |
|
||
|
Ошибка Incorrect syntax near ';
|
|||
|---|---|---|---|
|
#18+
Dr.Livsi, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:43 |
|
||
|
Ошибка Incorrect syntax near ';
|
|||
|---|---|---|---|
|
#18+
KopellyTaPaK, По-моему последний шаг цикла не получит данные из курсора, но попытается выполнить EXECUTE(...) угу, там весь порядок не в дугу :) ну и 2 fetch писать тоже не кошерно, не считая 2 exec :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:43 |
|
||
|
Ошибка Incorrect syntax near ';
|
|||
|---|---|---|---|
|
#18+
Попорбуйте так: DECLARE @catalog nvarchar(300); DECLARE @schema nvarchar(300); DECLARE @name nvarchar(300); DECLARE @definition nvarchar(300); DECLARE @option nvarchar(300); DECLARE @updatatable nvarchar(300); DECLARE cur CURSOR FOR SELECT * FROM INFORMATION_SCHEMA.VIEWS; OPEN cur; FETCH NEXT FROM cur INTO @catalog, @schema, @name, @definition, @option, @updatatable; WHILE @@FETCH_STATUS = 0 BEGIN EXECUTE('IF OBJECT_ID(''' + @name + ''') IS NOT NULL DROP VIEW ' + @name + ';'); FETCH NEXT FROM cur INTO @catalog, @schema, @name, @definition, @option, @updatatable; END CLOSE cur; DEALLOCATE cur; В вашем случае если "SELECT * FROM INFORMATION_SCHEMA.VIEWS" не отдает строк, то все равно выполняется код EXECUTE() с параметром null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:47 |
|
||
|
Ошибка Incorrect syntax near ';
|
|||
|---|---|---|---|
|
#18+
Вот вы меня сейчас прям растоптали интеллектом :) T`SQL я знаю посредственно. Поэтому чувствую, что по каждому ответу меня ждет долгое путешествие по msdn :) Всем большое спасибо за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 12:03 |
|
||
|
Ошибка Incorrect syntax near ';
|
|||
|---|---|---|---|
|
#18+
Dr.LivsiВот вы меня сейчас прям растоптали интеллектом :) T`SQL я знаю посредственно. Поэтому чувствую, что по каждому ответу меня ждет долгое путешествие по msdn :) Всем большое спасибо за ответы. действительно, ведь первое что пишут на sql это гроханье всех представлений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 12:06 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39622546&tid=1690022]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 335ms |

| 0 / 0 |
