2016-03-14 110 views
1

我需要切換sp_configure使用帶CASE語句的sp_configure

我要做的就是:

SELECT CAST(
     CASE 
      WHEN value_in_use = 0 
       THEN sp_configure 'clr enabled', 1 
      ELSE sp_configure 'clr enabled', 0 
     END AS bit) 
    FROM sys.configurations 
    WHERE name = 'clr enabled' 
RECONFIGURE; 

但它不工作。

如何寫T-SQL

一個切換sp_configure 'param'什麼不對的代碼?

回答

3

CASE是一個表達式,用於返回值不更新的東西。

您需要使用IF-ELSE這樣的:

IF @Expression THEN 
    sp_configure 'clr enabled', 1 
ELSE 
    sp_configure 'clr enabled', 0; 
+0

因此,如何建立一個表達?我做了這個CASE來返回布爾結果。需要切換'sp_configure'值,需要使用'sp_configure'。 – kAldown

+0

@Exoresion是你需要的任何東西。問題是什麼? –

+0

聲明一個變量,設置它,然後按照@JuanCarlosOropeza的描述評估IF-ELSE表達式。我錯過了什麼嗎? –