|
|
|
Supreme Being
      
участник
Last Login: 27.06.2008 14:10
Сообщ.: 275,
Visits: 865
|
|
Помогите, пож., разобраться! Что означает сие строчка:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Kontact]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Kontact]
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Проверяет существует ли таблица Kontact и, если да, то удаляет ее.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.06.2008 14:10
Сообщ.: 275,
Visits: 865
|
|
А что означает эта строка?
OBJECTPROPERTY(id, N'IsUserTable') = 1)
А в частности - N'IsUserTable'
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
OBJECTPROPERTY(id, N'IsUserTable') = 1) проверяет что это пользовательская таблица, а не системная.
Запись N'IsUserTable' означает Unicode строку. Хотя в данном случае префик N можно спокойно опустить.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.06.2008 14:10
Сообщ.: 275,
Visits: 865
|
|
| А id это не поле таблицы?
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Да это поле таблицы sysobjects. В данном случае оно хранит уникальный идентификатор таблицы Kontact и с помощью этого идентификатора функция OBJECTPROPERTY делает свою работу.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.06.2008 14:10
Сообщ.: 275,
Visits: 865
|
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833,
Visits: 16 863
|
|
|
|
|