Я использую оператор IF для вставки данных в ProductTable (используя это имя в качестве примера), так как я могу открыть инструкцию IF ... ниже вызывает запрос IF, но никогда не достигает значения else, которое было бы, если оно действительно существует в таблице, поэтому здесь приведен пример того, где я на данный момент. моя ошибка лежит в заявлении IF в начале, но я не могу решить, что положить в, чтобы сделать его работус использованием IF ELSE в sql-сервере (что положить в оператор IF)
IF NOT EXISTS(SELECT TOP 1 ProductID FROM ProductTable)
BEGIN
INSERT
(ProductName, UnitPrice)
SELECT
ProductView.ProductName,
ProductView.UnitPrice
FROM ProductView
INNER JOIN ProductTable ON ProductView.ProductID = ProductTable. ProductID
WHERE ProductID = (SELECT TOP 1 ProductID FROM ProductTable ORDER BY changedate DESC)
AND NOT EXISTS(SELECT 1 FROM ProductTable WHERE ProductView.ProductID = ProductTable.ProductID)
END
ELSE
INSERT
(ProductName, UnitPrice)
SELECT
ProductView.ProductName,
UnitPrice = 0.00
FROM ProductView
INNER JOIN ProductTable ON ProductView.ProductID = ProductTable. ProductID
WHERE ProductID = (SELECT TOP 1 ProductID FROM ProductTable ORDER BY changedate DESC)
Какие ошибки являются вы получаете? Синтаксис должен быть http://msdn.microsoft.com/en-us/library/ms182717.aspx. Я думаю, вы также можете использовать его как '' '' IF (1 = 1) BEGIN Выберите «If - True» END ELSE BEGIN Выберите «Else - False» END'''' –
, если 1 = 1 работ, отправьте это как ответ ... просто общие синтаксические ошибки, потому что я не знал, как использовать инструкцию IF в SQL Server – Crezzer7
вы просто хотите убедиться, что такая запись существует в таблице? вы можете проверить 'IF (SELECT TOP 1 1 FROM ...) НЕ НУЛЛ' например – DrCopyPaste