Имя: Пароль:
IT
 
t-sql проверка наличия колонки
0 dk
 
21.02.19
08:24
есть код sql который чистит колонку в логах давностью более 90 дней
ибо настройки довольно много места могут занимать (по нескольку кб)

IF object_id('[Report]', 'U') IS NOT NULL
   IF COLUMNPROPERTY(OBJECT_ID('Report','U'),'Setting','AllowsNull') IS NOT NULL
        BEGIN
            SELECT 1 _2

            DECLARE D DATETIME
            SET D = GETDATE()
            /*
            UPDATE [Report]
                SET [Setting] = NULL
            WHERE (DATEDIFF (day, [StartTime], D) > 90) AND ([Setting] IS NOT NULL)
            */
            
        END
        ELSE
            SELECT 2 _2
ELSE
    SELECT 3 _2

если колонки settings нет, то и делать ничего не надо
такой запрос возвращает 2
если комменты убрать, то матерится что нет колонки settings и нифига не делает
как обойти этого параноика правильно?
скуль 2000/2008
1 trdm
 
21.02.19
08:27
не пора ли с форматированием че-нить сделать?
2 dk
 
21.02.19
08:28
да, движок @ как-то коряво обработал
3 trad
 
21.02.19
08:47
(1) ВР пох
4 trad
 
21.02.19
09:03
(0) exec('UPDATE [Report]... ')
5 dk
 
21.02.19
09:11
(4) угу, но не нравятся экзеки
пока в 2 запроса переделал, отдельно проверка, отдельно выполнение после проверки
6 trad
 
21.02.19
09:16
(5) и это правильно, имхо. логике не место в запросах
7 trdm
 
21.02.19
09:17
(3) такая плюха по репутации как специалиста и пофигу? Ну пофигу так пофигу.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn