2

在我的项目中,我希望以 2 种不同的方式从同一个表中获取数据。1)只有 5 个字段 2)只有 10 个字段 我正在Stored Procedure为每个字段获取数据。但我希望如果可能的话,我应该做一个程序。

那么,我可以输入if条件来选择列吗?

例如,如果我将参数传递为“ Less ”,它将仅获取 5 列数据,如果我将参数传递为“ More ”,它将获取 10 列数据。SELECT我可以根据条件(我已经完成)在程序中有两个语句,但我想使它成为一个SELECT语句。是否可以?

4

2 回答 2

1

这是不可能的。

您当前IF在存储过程中使用语句的解决方案是最好的方法。

于 2013-02-12T09:59:48.123 回答
1

不,不可能有一个 SELECT 语句。

但是,您可以这样做:

if @ColumnList = 'less'
begin
    call storedProc_returning5Columns
end
else
begin
    call storedProc_returning10Columns
end

[另一种选择是使用动态 TSQL]

于 2013-02-12T10:00:57.963 回答