Мне нужно вернуть значение (0), если ничего не найдено в SQL-вызове.Возвращает целое число, если ничего не найдено (TSQL ASP.NET VB)
Вот что я (отредактировал/упростил, чтобы сделать больше смысла из контекста), это baing, вызванный из кода.
sql1 = "INSERT INTO [Xtr_MenuItems]([menu_order])
values(1 + (select max(menu_order) from [Xtr_MenuItems]))
SO в базу данных я вставить максимальное число в [menu_order] + 1. Это хорошо работает, если предположить, что что-то найти.
Однако, если (select max(menu_order) from [Xtr_MenuItems]))
не удается (ничего не найдено), то я хочу, чтобы вернуться 0 (как 1 + ничего = ничего, и SQL взрывает)
Как я могу это сделать? Я попытался «IF EXISTS», «выход» по-разному, но не могу заставить его работать ...
Зачем вам нужно добавить 1? Вы пытаетесь получить инкрементное целое в качестве основного ключа? Если это так, то просто установите этот столбец как идентификатор, и вам никогда не нужно вставлять в него что-либо. Просто установите IsIdentity в Yes и Identity Increment равным 1 в дизайне таблицы. –
@JonathonCowley - мне нужно вставить 1 ЕСЛИ это первый элемент в подменю, идея заключается в том, что я могу изменить порядок отображения меню. –
Gotcha. В этом случае вы хотите использовать функцию ISNULL. –