テーブルの削除について

解決


monst  2004-08-17 18:29:28  No: 10448

ローカルのデータベースにADO接続でテーブル名とフィールド定義を文字列で渡して、テーブルを作ろうとしています。
すでに同名のテーブルがあったら上書きしようと思うのですが、
「すでに同名のテーブルがあったら」の部分はどのように書けばよいのでしょうか?
(D7-pro,WinXp-home)

procedure TForm1.TableMaking(strTable,strField: String; q: TADOquery);
begin
    q.sql.Clear;
    if ---(strTableというテーブルがあれば)--- then begin
      q.sql.add('Drop Table '+  strTable);
      q.ExecSQL;
    end;
    q.sql.add('Create Table '+ strTable+'( '+ strField + ')'   );
    q.ExecSQL;
end;


bob  2004-08-17 19:55:11  No: 10449

Delphiの問題ではなく、SQLの問題ですね。

http://www.rfs.jp/sitebuilder/sql/04/02.html
「CREATE TABLE構文」の「IF NOT EXISTSパラメータ)」か、
「ALTER TABLE構文」が参考になるかと。


monst  2004-08-17 21:15:10  No: 10450

Create Table if not exists〜で解決しました。
わかりやすいSQL講座のサイトをご紹介いただきました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加