我自己做过动态创建视图的(在SQL server 6.5 & Delphi5下)一点问题也没有啊!
你提示什么错误?
看看,研究一下!!

解决方案 »

  1.   

    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('CREATE VIEW View1 AS SELECT * FROM TABLE WHERE <...>');
    Query1.ExecSQL;
    出现错误最大的可能是你用Open或Active激活Query,要用ExecSQL
      

  2.   

        在SQL语句中,肯定可以做动态创建视图。
        Delphi的TQuery使用正确,也可以使用视图、存储过程等东东。把你的程序
    和SQL语句拿出来看看。
      

  3.   

    即兴做了下实验,完全可行的。
    我的样本如下:
    With query1 Do
      begin
        Close;
        With SQL Do
        begin
          Clear;
          Add('Create View TestVIew(tmpID,tmpName)');
          Add('As');
          Add('Select FileInfo.FileID,FileInfo.FileTitile from FileInfo'); 
        end;    try
          ExecSQL;
          MessageDlg('Success!',mtInformation,[mbOK],0);
          Close;
        Except
            MessageDlg('Fail!',mtInformation,[mbOK],0);
            Close;
            Abort;
        end;
    end;
      

  4.   

       多谢各位的帮助,我出错的原因是:
       (1)权限不够;
       (2)系统使用'or' 为关键字,出错。
        create or replace view test(xhcount,contentxount) as select sum(id),count(content) from content