Попробуйте с помощью this
и .find()
сослаться на падение тока в
$(this).find(".inner-bar").toggle();
$(document).ready(function(){
$(".inner-link").click(function(){
$(this).find(".inner-bar").toggle();
});
});
[112 ] Я думаю, что Вам нужно что-то вроде этого для каждого возможно пустого параметра:
AND (aCode = @aCode OR (aCode IS NULL AND @aCode IS NULL))
Я думаю, что это должно работать с, ОБЪЕДИНЯЮТ функцию. Попробуйте это:
CREATE PROCEDURE sp_myDuplicateCheck
@userId int,
@noteType char(1),
@aCode char(3),
@bCode char(3),
@cCode char(3),
@outDuplicateFound int OUT
AS
BEGIN
SET @outDuplicateFound = (SELECT Top 1 id FROM codeTable
WHERE userId = @userId
AND noteType = @noteType
AND COALESCE(aCode,'NUL') = COALESCE(@aCode,'NUL')
AND COALESCE(bCode,'NUL') = COALESCE(@bCode,'NUL')
AND COALESCE(cCode,'NUL') = COALESCE(@cCode,'NUL')
)
-- Now set the duplicate output flag to a 1 or a 0
IF (@outDuplicateFound IS NULL) OR (@outDuplicateFound = '') OR (@outDuplicateFound = 0)
SET @outDuplicateFound = 0
ELSE
SET @outDuplicateFound = 1
END
Удачи!
Jason
Попробуйте это:
CREATE PROCEDURE sp_myDuplicateCheck
@userId int = 0,
@noteType char(1) = "",
@aCode char(3) = "",
@bCode char(3) = "",
@cCode char(3) = "",
@outDuplicateFound int OUT
AS
BEGIN
SET @outDuplicateFound = (SELECT Top 1 id FROM codeTable
WHERE @userId in (userId ,0)
AND @noteType in (noteType,"")
AND @aCode in (aCode , "")
AND @bCode in (bCode , "")
AND @cCode in (cCode ,"")
)
-- Now set the duplicate output flag to a 1 or a 0
IF (@outDuplicateFound IS NULL) OR (@outDuplicateFound = '') OR (@outDuplicateFound = 0)
SET @outDuplicateFound = 0
ELSE
SET @outDuplicateFound = 1
END
То, что это в основном делает, должно предоставить значения по умолчанию входным параметрам в случае пустого указателя и затем в, где условие проверяет, только если значения не равны значениям по умолчанию.
Если я понимаю Ваш вопрос правильно, то я поощряю Вас проводить немного исследования на:
SET ANSI_NULLS OFF
Если Вы используете эту команду в своей хранимой процедуре, то можно использовать = ПУСТОЙ УКАЗАТЕЛЬ в сравнении. Смотрите на следующий пример кода, чтобы видеть, как это работает.
Declare @Temp Table(Data Int)
Insert Into @Temp Values(1)
Insert Into @Temp Values(NULL)
-- No rows from the following query
select * From @Temp Where Data = NULL
SET ANSI_NULLS OFF
-- This returns the rows where data is null
select * From @Temp Where Data = NULL
SET ANSI_NULLS ON
Каждый раз, когда Вы SET ANSI_NULLS Прочь, это - хорошая практика для задержки его к НА как можно скорее, потому что это может влиять на другие запросы, которые Вы выполняете позже. Весь НАБОР управляет, только влияют на текущую сессию, но в зависимости от Вашего приложения, это могло охватить несколько запросов, который является, почему я предлагаю, чтобы Вы повернулись, ansi аннулирует назад на сразу после этого запроса.
Я сначала добавил бы проверку, чтобы видеть, были ли все параметры пустыми во время выполнения, т.е.
IF(COALESCE(@userId, @noteType, @aCode, @bCode, @cCode) IS NULL)
BEGIN
-- do something here, log, print, return, etc.
END
Затем после проверки этого, пользователь передал что-то в Вас, может использовать что-то вроде этого в Вашем операторе Where
WHERE userId = COALESCE(@userId, userId)
AND noteType = COALESCE(@noteType, noteType)
AND aCode = COALESCE(@aCode, aCode)
AND bCode = COALESCE(@bCode, bCode)
AND cCode = COALESCE(@cCode, cCode)
Править: Я, возможно, пропустил намерение, что, если параметр был передан в как пустой указатель, который означает, Вы явно хотите протестировать столбец на пустой указатель. Мой выше, где пункт предположил, что пустой параметр означал, 'пропускает тест на этом столбце'.
С другой стороны, я полагаю, что можно использовать исходный запрос и добавить, что опция набора ANSI_NULLS в хранимой процедуре создает время. Например,
SET ANSI_NULLS OFF
GO
CREATE PROC sp_myDuplicateCheck....
Эффективно это должно позволить Вашему коду затем оценивать column=null в противоположность столбцу, является пустым. Я думаю, что Kalen Delaney однажды выдумал опции ANSI_NULLS и QUOTED_IDENTIFIER как 'липкие опции', потому что, если они установлены в процедуре, создают время, они остаются с процедурой во время выполнения, независимо от того, как соединение в то время установлено.
SET ANSI_NULLS OFF / On
Таким образом можно сделать colName = null