我嘗試在sql中執行類似c#的切換或者如果使用不同的條件。CASE然後當子查詢
我使用,但它不會在所有的工作:
它是一個存儲過程:
CREATE PROCEDURE [dbo].[Mystoredprocedure]
@Value INT
AS
BEGIN
SET NOCOUNT ON;
CASE
WHEN @Value = 0
THEN SELECT * FROM mytable1
WHEN @Value = 1
THEN SELECT * FROM mytable2
WHEN @Value = 2
THEN SELECT * FROM mytable3
END
但它不工作,我搜索的例子,但我不覺得有什麼我真的想要。
我嘗試過:
CREATE PROCEDURE [dbo].[Mystoredprocedure]
@Value INT
AS
BEGIN
SET NOCOUNT ON;
IF @Value = 0
BEGIN
SELECT * FROM MyTable1
END
ELSE IF @Value = 1
BEGIN
SELECT * FROM MyTable2
END
ELSE IF @Value = 2
BEGIN
SELECT * FROM Mytable3
END
END
有您的解決方案,以解決這個問題?謝謝 !
你對'if'解決方案有什麼問題? – 2014-09-01 12:46:19
它說,如果 – Julien698 2014-09-01 12:51:57
「CASE」是T-SQL是**表達式,那麼它之前會有一個systax錯誤** - 它可以返回幾個值之一。但它是** NOT **像C#中的流程控制語句 - 您需要使用「IF ... THEN ....」此 – 2014-09-01 12:58:34