powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / syntax как правильно?
14 сообщений из 14, страница 1 из 1
syntax как правильно?
    #39069693
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Среда Visual Basic STUDIO’2010 Professional
Необходимо удалить индекс 'aaaaa_2'
таблицы Customers в базе Northwind.sdf

последний вариант строки
Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes

Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN; DROP INDEX aaaaa_2 ON dbo.Customers;END;"
Удаляемый индекс
aaaaa_2
НЕ существует
There was an error parsing the query. [ Token line number = 1,Token line offset = 1,Token in error = IF ]
.

Спасибо

Ниже апробированные варианты строк:


'+-2 Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN " +
' "DROP INDEX aaaaa_2 ON dbo.Customers;END;"

'+-3 Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN;" +
' "DROP INDEX aaaaa_2 ON dbo.Customers;END;"

'+-4 Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN; " &
' "DROP INDEX aaaaa_2 ON dbo.Customers;END;"

'+-5 Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN; " &
' "DROP INDEX aaaaa_2 ON dbo.Customers;END;"

'+-6 Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN DROP INDEX aaaaa_2 ON dbo.Customers;END;"

'+-7 Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN;DROP INDEX aaaaa_2 ON dbo.Customers;END;"

' Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN;DROP INDEX aaaaa_2 ON dbo.Customers;END;"
'+-2 Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN;DROP INDEX aaaaa_2 ON dbo.Customers;END;"

'+-3 Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN;DROP INDEX aaaaa_2 ON dbo.Customers;END;"
'+-4 Dim sql3 As New String("IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN;DROP INDEX aaaaa_2 ON dbo.Customers;END;")

'+-6 Dim sql3 As String = "BEGIN DROP INDEX aaaaa_2 ON dbo.Customers;END;"
'+-7 Dim sql3 As String = "DROP INDEX aaaaa_2 ON dbo.Customers;END;"
'+-8 Dim sql3 As String = "DROP INDEX aaaaa_2 ON Customers"
'+-9 Dim sql3 As String = "DROP INDEX 'aaaaa_2' ON Customers"
'+-10 Dim sql3 As String = "DROP INDEX myIdx3 ON Customers"
...
Рейтинг: 0 / 0
syntax как правильно?
    #39069848
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vova_1805последний вариант строки
Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.Customers') AND NAME ='aaaaa_2') BEGIN; DROP INDEX aaaaa_2 ON dbo.Customers;END;"
У меня данный запрос выполняется без ошибок. MS SQL 2012. Покади свой код выполнения запроса.

Vova_1805+-8 Dim sql3 As String = "DROP INDEX aaaaa_2 ON Customers"
Этот запрос уж точно должен отрабатывать. При условии что индекс в самом деле существует.
...
Рейтинг: 0 / 0
syntax как правильно?
    #39069857
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

просто пишешь If и все прекрасно работает?
...
Рейтинг: 0 / 0
syntax как правильно?
    #39069866
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos, не понял о чем ты.
...
Рейтинг: 0 / 0
syntax как правильно?
    #39069893
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

а чего понимать то? можно разве в простом запросе IF?
или у меня уже маразм начинается?
...
Рейтинг: 0 / 0
syntax как правильно?
    #39069896
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosили у меня уже маразм начинается?начинается
...
Рейтинг: 0 / 0
syntax как правильно?
    #39069902
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

точно блин начинается
...
Рейтинг: 0 / 0
syntax как правильно?
    #39069904
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Ты мало спишь, я тебе уже говорил
...
Рейтинг: 0 / 0
syntax как правильно?
    #39069906
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

боюсь не успеть :)
да много чего с этой ВИПРОС забываешь - нужды уже нет
...
Рейтинг: 0 / 0
syntax как правильно?
    #39075427
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор+-8 Dim sql3 As String = "DROP INDEX aaaaa_2 ON Customers"

Этот запрос уж точно должен отрабатывать. При условии что индекс в самом деле существует.
СНИМОК ПОДТВЕРЖДАЕТ НАЛИЧИЕ ИНДЕКСА.
В среде STUDIO'2010 ЛАПАМИ УДАЛЯЕТСЯ, А ВОТ ПРОГРАММНО - ИМЕЕМ ТО, ЧТО ПОКАЗАНО РАНЕЕ.
...
Рейтинг: 0 / 0
syntax как правильно?
    #39075436
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
последний вариант строки
Код: vbnet
1.
2.
3.
4.
5.
Dim sIndex As New String("aaaaa_2") 
Dim sql3 As String = "DROP INDEX " + sIndex + " ON Customers"
cmd.ExecuteNonQuery()  
     MsgBox("Удаляемый индекс " + vbCrLf + sIndex + vbCrLf +
           "НЕ существует" & vbCrLf & ex.Message

Удаляемый индекс
aaaaa_2
НЕ существует
There was an error parsing the query. [ Token line number = 1,Token line offset = 20,Token in error = ON ]
Спасибо
...
Рейтинг: 0 / 0
syntax как правильно?
    #39075816
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я чего-то не понимаю, но я удаляю индексы так

DROP INDEX схема.таблица.имя_индекса

откуда там ON?
...
Рейтинг: 0 / 0
syntax как правильно?
    #39076106
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vova_1805последний вариант строки
Код: vbnet
1.
2.
3.
4.
5.
Dim sIndex As New String("aaaaa_2") 
Dim sql3 As String = "DROP INDEX " + sIndex + " ON Customers"
cmd.ExecuteNonQuery()  
     MsgBox("Удаляемый индекс " + vbCrLf + sIndex + vbCrLf +
           "НЕ существует" & vbCrLf & ex.Message


Что это за огрызок? По коду не понятно какой именно запрос находится в cmd и когда выполняется MsgBox. Приведи полный пример.
...
Рейтинг: 0 / 0
syntax как правильно?
    #39076108
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proоткуда там ON?
Читаем документацию DROP INDEX (Transact-SQL)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / syntax как правильно?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]