if statement using a query in sql

if-statement, sql, sql-server, sql-server-2000, stored-procedures

Solution

(1) Using a statement block

IF 
(SELECT COUNT(*) FROM Production.Product WHERE Name LIKE 'Touring-3000%' ) > 5
BEGIN
   PRINT 'There are 5 Touring-3000 bikes.'
END
ELSE 
BEGIN
   PRINT 'There are Less than 5 Touring-3000 bikes.'
END ;

(2) Calling stored procedures.

DECLARE @compareprice money, @cost money 
EXECUTE Production.uspGetList '%Bikes%', 700, 
    @compareprice OUT, 
    @cost OUTPUT
IF @cost <= @compareprice 
BEGIN
    PRINT 'These products can be purchased for less than 
    $'+RTRIM(CAST(@compareprice AS varchar(20)))+'.'
END
ELSE
    PRINT 'The prices for all products in this category exceed 
    $'+ RTRIM(CAST(@compareprice AS varchar(20)))+'.'

More Examples:

MSDN 1 MSDN 2

Problem

I would like to ask how to perform condition checking using `IF statement` in `SQL`, something like the below examples .. ``` if (select* from table where id = @id) = 1 --if this returns a value insert statement else update statement go ``` or something similar like using a stored procedure... ``` if (exec SP_something 2012, 1) = 0 insert statement else update stement ``` or maybe by using a UDF in the sql statement like... ``` if (select dbo.udfSomething(1,1,2012)) = 0 insert statement else update statement go ```

Original source