怎样把一个自己仅有只读权限的存储过程运行结果写入一个临时表?
with query_gg do
 begin
    clOSE;
   sql.Clear;  sql.add('CREATE TABLE #TTABLE');
  SQL.ADD(' (A VARCHAR(10),');
  SQL.ADD(' B VARCHAR(60),');
  SQL.ADD(' C VARCHAR(6),');
  SQL.ADD(' D VARCHAR(10),');
  SQL.ADD(' E VARCHAR(6),');
  SQL.ADD(' F FLOAT,');
   SQL.ADD(' G FLOAT )');
SQL.ADD('INSERT INTO #TTABLE ');
SQL.ADD(' EXEC 存储过程');
execsql;
end;========
这样写好象很幼稚,但我也不知道怎么写?请指点

解决方案 »

  1.   

    select *  into #Ttable from table1
      

  2.   

    为什么不要客户端建临时表?
    你那样如果有多用户时不就出错了吗?
    ===========
    我就是想在客户端建临时表啊,下面的写法好象找到了思路,但还是有错误
    with query_gg do
     begin
        clOSE;
       sql.Clear;  sql.add('CREATE TABLE #TTABLE');
      SQL.ADD(' (A VARCHAR(10),');
      SQL.ADD(' B VARCHAR(60),');
      SQL.ADD(' C VARCHAR(6),');
      SQL.ADD(' D VARCHAR(10),');
      SQL.ADD(' E VARCHAR(6),');
      SQL.ADD(' F FLOAT,');
       SQL.ADD(' G FLOAT )');  SQL.ADD('INSERT INTO #TTABLE  SELECT * from  openrowset');
     SQL.ADD('( exec 存储过程 )');sql.add('DROP TABLE #TTABLE');
     EXECSQL;请帮忙看看OPENROWSET该格式该怎么写?
    execsql;
    end;