2016-03-14 111 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表达式。我错过了什么吗? –