我们可以使用CASE和EXEC

neu*_*v33 8 sql-server case-when

我想根据用户输入选择存储的proc来执行.就像是 -

EXEC
CASE @InputParam 
  WHEN 'XML' THEN GetXMLData @ID, 'y'
  WHEN 'TABLE' THEN GetTableData @ID, 'y'
END
Run Code Online (Sandbox Code Playgroud)

这可以用CASE或者我应该考虑使用If构造吗?

JNK*_*JNK 9

你想在IF这里使用构造:

IF @InputParam = 'XML'
    EXEC GetXMLData @ID, 'y'
IF @InputParam = 'TABLE'
    EXEC GetTableData @ID, 'y'
Run Code Online (Sandbox Code Playgroud)