Avatar billede tknudsen Nybegynder
21. november 2000 - 14:02 Der er 6 kommentarer og
1 løsning

Findes tabellen ?

Hvordan kan jeg med SQL undersøge om en tabel findes ?

Jeg harvde forestillet mig noget i stil med:

IF NOT TABLE tblTemp EXISTS BEGIN
CREATE TABLE tblTemp
(felt1 text,
felt2 text)
END;

men det virker tilsyneladende ikke !?!
Avatar billede lens Nybegynder
21. november 2000 - 15:13 #1
DU kan desværre ikke bruge if else... mm i SQL.
Du kunne jo i stedet prøve at udtrække noget du ved er fra denne tabel, og dermed se om den eksisterer!....
SELECT tabelnavn.*
FROM tabelnavn;
Avatar billede tknudsen Nybegynder
21. november 2000 - 15:28 #2
det er ikke helt korrekt. Følgende er SQL og virker aldeles glimrende:

IF NOT EXISTS (SELECT * FROM AddrList WHERE firstName=\'Finn\' AND sirName=\'Kapperidder\') BEGIN INSERT INTO AddrList VALUES(\'Finn\',\'Kapperidder\') END

Ligeledes kan ELSE bruges...
Avatar billede lens Nybegynder
21. november 2000 - 15:34 #3
nej det er ikke sql. det er nok nærmere noget vb med integreret (embedded)sql!
Avatar billede tknudsen Nybegynder
21. november 2000 - 15:40 #4
ohh - sorry - det kommer fra MS SQL - og jeg havde glemt at ikke alt de laver er helt standardiseret (læs : de er desværre blevet så store at de gør hvad der psser dem)

(på den anden side kan man også spilde en masse tid på at blive enige :-)

Men løsninges forslaget er altså at jeg prøver at udføre en query i den tabel jeg vil ndersøge om eksisterer og derefter luser fejlen \'Table does not exist\' ud og opretter tabellen hvis den fejl kommer ?
Avatar billede lens Nybegynder
21. november 2000 - 15:51 #5
Jamen så har vi jo det på det rene! :-)
Det er mere end meget muligt at man kan gøre noget lignende i Access med Vb eller Vba eller hvad det nu  hedder der.

Det kommer an på om det bare skal konstateres, hvorvidt tabellen er der, eller om der også skal gøres noget med den!
Avatar billede cktarget Nybegynder
22. november 2000 - 11:12 #6
I access(vba) kan man bruge følgende syntaks for at check oim en given tabel findes.

If CurrentDb.TableDefs(i).Name = TabelNavn

Det er selvfølgelig heller ikke SQL, men det virker.

mvh Kedde
Avatar billede tknudsen Nybegynder
23. november 2000 - 08:59 #7
jeg skal fra en delphi applikation oprette/ændre nogle tabeller runtime - men jeg har fundet en metode at gøre det på - men jeg køber svaret fra lens - mange tak

:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester