yeah I know how to do it in code thats easy. I was just trying to do it in SQL. I am too used to MSSQL I guess :-)
On Wed, Jun 17, 2009 at 10:34 AM, Willie Juson <willie.ju...@satara.co.nz>wrote: > Here’s some quick and dirty code that works (it probably wants some > exception handling added around the ExecSQL), but hopefully you get the gist > of it, in this example the database DM.IBDBKiwitracker is a TIBDatabase > component on our central Datamodule unit for our application. It assumes the > Database has a default transaction assigned – which the TIBQuery gets in the > absence of a specific one being assigned to it. > > > > > > > > > > > > l_qry := TIBQuery.Create(nil); > > try > > l_qry.Database := DM.IBDBKiwitracker; > > l_qry.Transaction.StartTransaction; > > try > > l_qry.SQL.Add('select count(*) from rdb$relations where > Upper(RDB$RELATION_NAME) = (''MYTABLE'') '); > > l_qry.Open; > > if (l_qry.Fields[0].Asinteger > 0) then > > begin > > l_qry.Close; > > l_qry.SQL.Clear; > > l_qry.SQL.Add('drop table MyTable'); > > l_qry.ExecSQL; > > end; > > finally > > if l_qry.Transaction.InTransaction then > > l_qry.Transaction.Commit; > > end; > > finally > > FreeAndNil(l_qry); > > end; > > > > > > You might also want to check out a bit how the RDB$ tables work in > interbase….. > > > > > > *From:* delphi-boun...@delphi.org.nz [mailto:delphi-boun...@delphi.org.nz] > *On Behalf Of *Jeremy Coulter > *Sent:* Wednesday, 17 June 2009 9:59 a.m. > *To:* NZ Borland Developers Group - Delphi List > *Subject:* Re: [DUG] Drop table in Interbase > > > > Thansk for your reply edward. However, I dont normall use Interbase and > your example didnt make a lot of sence. I managed to find a similar example > but I dont follow part of it. > > when I run : > > select * from rdb$relations WHERE RDB$RELATION_NAME = 'MyTable' > and > DROP TABLE MyTable; > COMMIT; > > It tells me DROP is an invalid token. So I assume the "And" is not part of > the SQL statement. > So what I dont follow is, just doing a "SELECT" to see if a record exists > then dropping the table seems like something is missing. > > in a programming sense, I would expect something like > > IF select * from rdb$relations WHERE RDB$RELATION_NAME = 'MyTable' <> '' > then > DROP TABLE MyTable; > > I know thats not real code, but my point is, just because I can do a > select, doesnt tell me if the table exists or not to try to delete > it.......I hope you follow what I am meaning. > > Jeremy > > On Tue, Jun 16, 2009 at 4:05 PM, John Bird <johnkb...@paradise.net.nz> > wrote: > > For a good working example see > > > > http://xkcd.com/327/ > > > > (Standard disclaimer - do not try this at home!) > > > > John > > > > ----- Original Message ----- > > *From:* Jeremy Coulter <jscoul...@gmail.com> > > *To:* NZ Borland Developers Group - Delphi List <delphi@delphi.org.nz> > > *Sent:* Tuesday, June 16, 2009 3:35 PM > > *Subject:* Re: [DUG] Drop table in Interbase > > > > ok cool I will try that. > > Thanks, Jeremy > > On Tue, Jun 16, 2009 at 2:54 PM, Edward Koryagin <ed_iv2...@yahoo.co.nz> > wrote: > > > select * from rdb$relations ... > and > DROP TABLE .... > Edward Koryagin > > > --- On Tue, 16/6/09, Jeremy Coulter <jscoul...@gmail.com> wrote: > > > From: Jeremy Coulter <jscoul...@gmail.com> > > Subject: [DUG] Drop table in Interbase > > To: "NZ Borland Developers Group - Delphi List" <delphi@delphi.org.nz> > > Received: Tuesday, 16 June, 2009, 1:31 PM > > > Hi all. > > In interbase, how do I drop a table if it already exists? > > I want to check for a table exists and if it does exist, > > drop it. > > > > I have Googled, but I cant seem to find anything. I am > > prob. searching wrong :-) > > > > > > Jeremy > > > > > > > -----Inline Attachment Follows----- > > > > _______________________________________________ > > NZ Borland Developers Group - Delphi mailing list > > Post: delphi@delphi.org.nz > > Admin: http://delphi.org.nz/mailman/listinfo/delphi > > Unsubscribe: send an email to delphi-requ...@delphi.org.nz > > with Subject: unsubscribe > > > > > _______________________________________________ > NZ Borland Developers Group - Delphi mailing list > Post: delphi@delphi.org.nz > Admin: http://delphi.org.nz/mailman/listinfo/delphi > Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: > unsubscribe > > > ------------------------------ > > _______________________________________________ > NZ Borland Developers Group - Delphi mailing list > Post: delphi@delphi.org.nz > Admin: http://delphi.org.nz/mailman/listinfo/delphi > Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: > unsubscribe > > > _______________________________________________ > NZ Borland Developers Group - Delphi mailing list > Post: delphi@delphi.org.nz > Admin: http://delphi.org.nz/mailman/listinfo/delphi > Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: > unsubscribe > > > > _______________________________________________ > NZ Borland Developers Group - Delphi mailing list > Post: delphi@delphi.org.nz > Admin: http://delphi.org.nz/mailman/listinfo/delphi > Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: > unsubscribe >
_______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: delphi@delphi.org.nz Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: unsubscribe