powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / проверить в базе Microsoft SQL Server наличие индекса "myIdx"
5 сообщений из 5, страница 1 из 1
проверить в базе Microsoft SQL Server наличие индекса "myIdx"
    #38325311
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Среда Visual Basic STUDIO’2010 Professional
Удалить индексный файл "myIdx2" предварительно проверив его существование
в базе Microsoft SQL Server.

Апробировано 13 вариантов, все неправильные:

Код: vbnet
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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
Try
            ''+-1 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.tablename') AND NAME ='indexname') BEGIN" + vbCrLf +
            '"DROP INDEX myIdx2 ON SCHEMA.MyTable;END;" ' можно поставить перед Try
            '' Неправильный синтаксис около ключевого слова "SCHEMA".

            ''+-2 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='myIdx2') BEGIN" + vbCrLf +
            '"DROP INDEX myIdx2 ON SCHEMA.MyTable;END;" ' можно поставить перед Try
            '' Неправильный синтаксис около ключевого слова "SCHEMA".

            ''+-3 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='myIdx2') BEGIN " + vbCrLf +
            '"DROP INDEX myIdx2 ON SCHEMA.MyTable;END;" ' можно поставить перед Try
            '' Неправильный синтаксис около ключевого слова "SCHEMA".

            ''+-4 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='myIdx2') BEGIN " + vbCrLf +
            '"DROP INDEX myIdx2 ON MyTable;END;" ' можно поставить перед Try
            '' ошибки нет, НО НЕ УДАЛЁН ИНДЕКС!


            ''+-5 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='myIdx2') BEGIN" + vbCrLf +
            '"DROP INDEX myIdx2 ON MyTable;END;"
            '' ошибки нет, НО НЕ УДАЛЁН ИНДЕКС!

            ' ''+-6 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='myIdx2') BEGIN " + vbCrLf +
            '"DROP INDEX myIdx2 ON MyTable;END;" ' после BEGIN пробел ставлю
            ' ошибки нет, НО НЕ УДАЛЁН ИНДЕКС!

            ''+-7 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='myIdx2') BEGIN:" + vbCrLf +
            '"DROP INDEX myIdx2 ON MyTable;END;" ' после BEGIN двоеточие ставлю
            'Неправильный синтаксис около конструкции ":". Неправильный синтаксис около конструкции ";".

            ''+-8 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='schema.myIdx2') BEGIN" + vbCrLf +
            '"DROP INDEX myIdx2 ON MyTable;END;"
            ' ошибки нет, НО НЕ УДАЛЁН ИНДЕКС!

            ' ''+-9 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='schema.myIdx2') BEGIN " + vbCrLf +
            '"DROP INDEX myIdx2 ON MyTable;END;" ' после BEGIN пробел ставлю
            '' ошибки нет, НО НЕ УДАЛЁН ИНДЕКС!

            ' ''+-10 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='schema.myIdx2') BEGIN " + vbCrLf +
            '"DROP INDEX myIdx2 ON MyTable;END" ' после END убираю точку с запятой 
            '' ошибки нет, НО НЕ УДАЛЁН ИНДЕКС!

            '' ''+-11 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='schema.myIdx2') BEGIN; " + vbCrLf +
            '"DROP INDEX myIdx2 ON MyTable;END;" ' после END поставил точку с запятой 
            '' после  BEGIN; поставил точку с запятой 
            '' ошибки нет, НО НЕ УДАЛЁН ИНДЕКС!

            '' ''+-12 
            'Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='myIdx2') BEGIN " + vbCrLf +
            '"DROP INDEX myIdx2 ON MyTable;END;" ' после END поставил точку с запятой 
            '' после  BEGIN убрал поставленную точку с запятой 
            '' ошибки нет, НО НЕ УДАЛЁН ИНДЕКС!

            ' ''+-13
            Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.MyTable') AND NAME ='schema.myIdx22') BEGIN " + vbCrLf +
            "DROP INDEX myIdx2 ON MyTable;END;" ' перед "myIdx2" поставил schema
            ' ошибки нет, НО НЕ выведено сообщения об отсутствии файла myIdx22!

            'код, который может привести к ошибке  
            'выполнение программы будет продолжено без ошибок  

            '     Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.tablename') AND NAME ='indexname') BEGIN" + vbCrLf +
            '"DROP INDEX PKeyMyId ON SCHEMA.MyTable;END;"
            '+-1 Ссылка на объект не указывает на экземпляр объекта.
            ' я хотел удалить индекс "PKeyMyId"
            ' PKeyMyId
            '+-2 Неправильный синтаксис около ключевого слова "SCHEMA".

            ExecuteSQLStmt(sql3) 
	Catch ex As Exception
		MsgBox("индекс myIdx2 НЕ существует" & vbCrLf & ex.Message)
        End Try

СПАСИБО!
...
Рейтинг: 0 / 0
проверить в базе Microsoft SQL Server наличие индекса "myIdx"
    #38325319
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbo.
вместо
schema.
...
Рейтинг: 0 / 0
проверить в базе Microsoft SQL Server наличие индекса "myIdx"
    #38326790
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторdbo.
вместо
schema.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
        Try
            ' вариант_1 с добавленным dbo
            Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.tablename') AND NAME ='indexname') BEGIN" + vbCrLf +
            "DROP INDEX myIdx2 ON dbo.MyTable;END;" 
            ' поставил "dbo" - error нет, но не удаляет
' вариант_2 с добавленным dbo

Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.tablename') AND NAME ='indexname') BEGIN" + vbCrLf +
            "DROP INDEX myIdx2 ON dbo.MyTable;END;" 
            ' дообавил ещё dbo, НЕ УДАЛЯЕТ

' вариант_3 с добавленным dbo
Dim sql3 As String = "IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('dbo.myTable') AND NAME ='myIdx2') BEGIN" + vbCrLf +
            "DROP INDEX myIdx2 ON dbo.MyTable;END;"
Catch ex As Exception
            MsgBox("индекс myIdx2 НЕ существует" + vbCrLf +
                 " поэтому НЕЧЕГО УДАЛЯТЬ!" + "")
End Try
...
Рейтинг: 0 / 0
проверить в базе Microsoft SQL Server наличие индекса "myIdx"
    #38326804
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
IF EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('schema.tablename') AND NAME ='indexname') 



в выделенных местах должны быть ваши наименования таблицы/индекса
...
Рейтинг: 0 / 0
проверить в базе Microsoft SQL Server наличие индекса "myIdx"
    #38328437
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
искренне Вам благодарен.
ОК!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / проверить в базе Microsoft SQL Server наличие индекса "myIdx"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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