有一存储过程返回一个数据集,数据集共有a,b,c三个列能不能只用一条SQL命令调用存储过程,使生成的数据集为a,b,c,d,e列,即增加几列。只能用一条SQL命令,不能修改存储过程

解决方案 »

  1.   

    --trycreate table T(a int, b int, c int, d int, e int)insert T(a, b, c) exec  存储过程
      

  2.   

    To:marco08(天道酬勤)
      是要求用一条SQL语句实现
      

  3.   

    不明白你的意思
    能不能只用一条SQL命令调用存储过程? 需要两条吗
    是在过程中只有一条语句吗?
    不能修改存储过程,动态产生CREATE TABLE就是了吗,也就是拼凑一条CREATE TABLE串,执行之就是了
      

  4.   

    To:badboy213(打开天窗说笑话)   因为是在一前台应用程序中实现该功能,该存储过程只能返回三列段,但应用程序需要额外再增加两列字段用做其它的用途。
      

  5.   

    sp_executesql
    N'create table #jj (a int,b int,c int)   insert into #jj(a,b,c) exec 存储过程  select *,d,e from #jj ......  drop table #jj'
      

  6.   

    To:gzhughie(hughie)   用一条SQL语句
      

  7.   

    SELECT m.*,'' as d,' ' as e
    FROM OPENROWSET('.', 'Server=.;Trusted_Connection=yes;',
         'exec 存储过程名字') AS m;
      

  8.   

    是一条啊,用的sp_executesql这个系统存储过程,你的一条语句不会是只允许用select吧。
      

  9.   

    嘿嘿,xiequanqin(新的一天,新的起点!) 的好