Поля и их значения должны располагаться друг под другом и начинаться с одной строчки
Пример.
Правильно | Неправильно |
insert intotKey ( InterfaceFieldID, ObjectID, Pkey, StrValue ) values( @InterfaceFieldID, @ObjectID, @Pkey, @StrValue ) | insert intotKey (InterfaceFieldID, ObjectID, Pkey, StrValue) values(@InterfaceFieldID, @ObjectID, @Pkey, @StrValue) |
4.3.3.3 Выравнивание ключевых слов должно идти по правой колонке слов insert и values/select.
Пример.
Правильно | Неправильно |
insert intotKey ( InterfaceFieldID, ObjectID, Pkey, StrValue ) values( @InterfaceFieldID, @ObjectID, @Pkey, @StrValue ) | insert intotKey (InterfaceFieldID, ObjectID, Pkey, StrValue) values(@InterfaceFieldID, @ObjectID, @Pkey, @StrValue) |
4.3.3.4 Открывающая и закрывающая скобки должны быть выравнены по ключевому слову into".
Пример.
Правильно | Неправильно |
insert intotKey ( InterfaceFieldID, ObjectID, Pkey, StrValue ) values( @InterfaceFieldID, @ObjectID, @Pkey, @StrValue ) | insert intotKey (InterfaceFieldID, ObjectID, Pkey, StrValue) values(@InterfaceFieldID, @ObjectID, @Pkey, @StrValue) |
4.3.3.5 Ключевое слово into может опускаться, в этом случае выравнивание ключевых слов должно идти по правой колонке слов insert и values/select.
Пример.
Правильно | Неправильно |
inserttKey ( InterfaceFieldID, ObjectID, Pkey, StrValue ) selectInterfaceFieldID, ObjectID, Pkey, StrValue from pKey M_NOLOCK_INDEX(…) where SPID = @@spid and InterfaceFieldID = @ID and ObjectID = @ObjectID | inserttKey (InterfaceFieldID, ObjectID, Pkey, StrValue) selectInterfaceFieldID, ObjectID, Pkey, StrValue from pKey M_NOLOCK_INDEX(…) where SPID = @@spid and InterfaceFieldID = @ID and ObjectID = @ObjectID |
В случае если список полей с отступами не превышает 80 символов, допускается написание списка полей в одну строчку.
Пример.
Правильно |
inserttKey (ObjectID,PKey) selectObjectID,PKey from pKey M_NOLOCK_INDEX(…) where SPID = @@spid and InterfaceFieldID = @ID and ObjectID = @ObjectID |
Оператор UPDATE
Формат: update {таблица}
set {присваивание значений}
from {список таблиц}
where {условия отбора}
При написании сразу нескольких операторов присваивания необходимо левую часть данных выражений располагать с одной и той же колонки, правую часть вместе с оператором равно также необходимо располагать с одной и той же колонки.
Пример.
Правильно | Неправильно |
updatetKey set Pkey = @Pkey, StrValue = @StrValue from pKey M_NOLOCK_INDEX(…) where SPID = @@spid and InterfaceFieldID = @ID and ObjectID = @ObjectID | updatetKey set Pkey = @Pkey, StrValue = @StrValue from pKey M_NOLOCK_INDEX(…) where SPID = @@spid and InterfaceFieldID = @ID and ObjectID = @ObjectID |
Если значение записываемой переменной может быть NULL, то рекомендуется использовать следующую конструкцию isnull.
Пример.
Правильно | Неправильно |
updatetKey set Pkey = isnull(@Pkey, Pkey) from pKey M_NOLOCK_INDEX(…) where SPID = @@spid and InterfaceFieldID = @ID and ObjectID = @ObjectID | updatetKey set Pkey = isnull(@Pkey, 0) from pKey M_NOLOCK_INDEX(…) where SPID = @@spid and InterfaceFieldID = @ID and ObjectID = @ObjectID |
Оператор DELETE
Формат: delete {таблица}
from {список таблиц}
where {условия отбора}
В случае если оператор delete с указанными параметрами и отступами не превышает 80 символов, допускается его написание в одну строчку.
Оператор CURSOR
Формат: __DECLARE_CURSOR__ MyCursor
{операторы}
__DEALLOCATE_CURSOR__ MyCursor
Рекомендуется следующая конструкция для написания курсоров.
Пример.