在delphi里怎么建临时表?

解决方案 »

  1.   

    sql不行吗?
    直接CREATE TABLE
      

  2.   

    为什么不用视图??
    create view
    建表用create table
      

  3.   

    给你个例子:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Grids, DBGrids, Db, DBTables;type
      TForm1 = class(TForm)
        DataSource1: TDataSource;
        Query1: TQuery;
        DBGrid1: TDBGrid;
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure FormActivate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      i:integer;
    implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    begin
    i:=i+1;
    query1.SQL.clear;
    query1.sql.add('create table dademo (t1 integer )');//建只有一个字段名为t1(类型为整数型)的临时表dademo
    query1.execsql;
    query1.SQL.clear;
    query1.sql.add('insert into dademo values('+inttostr(i)+')');//往临时表中加数据
    query1.ExecSql;
    //加完数据后,这中间你就可以对数据表进行查询,修改,删除等操作了
    query1.SQL.clear;
    query1.sql.Add('select * from dademo');
    query1.open;
    query1.active:=true;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
    query1.CloseDatabase (query1.database);
    if deletefile('dademo.db') then showmessage('ok!')//删除临时表,此时要注意你创建的临时表所在的目录
                                   else showmessage('no!');
    end;procedure TForm1.FormActivate(Sender: TObject);
    begin
    i:=0;
    end;end.
      

  4.   

    create table #TempTable
    如果要创建一个和已经存在的表相同结构的临时表则:
    select * into #TempTable from table where ....
      

  5.   

    在MS SQL SERVER中
    CREATE TABLE ##TABLENAME  --建全局临时表
    CREATE TABLE #TABLENAME   --建局部临时表
      

  6.   

    在MS SQL SERVER中
    CREATE TABLE ##TABLENAME  --建全局临时表
    CREATE TABLE #TABLENAME   --建局部临时表
    抄袭的:
    SELECT *  INTO  ##TEMPTABLE FROM TABLE WHERE 1=0--空的表
    SELECT *  INTO  #TEMPTABLE FROM TABLE WHERE 1=0--空的表
    自己的:
    存储过程中建临时表出来后就没有的,还有别用EXEC去生成(和存储过程雷同)