CREATE PROCEDURE 
AS
BEGIN
select '第二列' as b,'第三列' as c
ENDselect '第一列' as a,T.* from (exec SelectTable) T  --这句语句只表示我的思路和要达到的效果--返回 第一列 第二列 第三列
如何实现以上的效果?

解决方案 »

  1.   

    如果需要添加一列可以在存储过程中动态构建SQL语句.例如:
    CREATE PROCEDURE sptest @ColName sysname = ''  ----该参数为要添加的列名称
    AS
    BEGIN
    IF @ColName = ''
    select 列2,列2  from 表
    ESE
    exec('select ' + @ColName + ',列2,列3 from 表')
    END
    go
    exec sptest                ----返回不添加新列的结果集

    exec sptest '列1名称'      ----返回添加新列的结果集
      

  2.   

    抱歉,更正一下:
    select 列2,列2  from 表
    应为
    select 列2,列3  from 表