Toon posts:

[SQL Server 7] testen of tabel bestaat

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb twee stored procedures (sp). De eerste maakt tabellen aan in de database. De tweede schrijft in de tabellen. Ik zou in tweede sp graag een test doen of de tabellen al bestaan. Zo niet dan kan ik vanuit de tweede sp de eerste aanroepen. Iemand hier ervaring mee? Ik heb op google niets kunnen vinden of niet goed gezocht ;-)

Verwijderd

Is er error handling mogelijk in SP's? Zoja, dan wordt er vast een error getriggerd op het moment dat de tabel niet bestaat. Aan de hand van die error, kan je de SP aanroepen die de tabel moet aanmaken.

  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Probeer dit eens
code:
1
2
3
4
5
6
7
8
9
if (not exists (
        select  *
        from    dbo.TABLES
        where   TABLE_TYPE = 'BASE TABLE'
        and TABLE_NAME = tablename
    ))
begin
    exec dbo.sp1
end

Never underestimate the power of


  • whoami
  • Registratie: December 2000
  • Laatst online: 10:21
In SQL Server heb je een table sysobjects. Daarin staan alle objecten in van uw databank; procedures, tabellen, indexen, ....
Je kunt in die tabel gaan kijken of de tabel reeds bestaat:
code:
1
select * from sysobjects where name = 'tabelnaam' and xtype = 'U'

https://fgheysels.github.io/


  • mrSunshine
  • Registratie: Juni 2001
  • Laatst online: 16-02 08:04
Zo doe ik het meestal:

code:
1
2
if object_id('<TABEL_NAAM>') is not null print 'bestaat' 
else print 'bestaat niet'

Verwijderd

Topicstarter
mrSunshine schreef op 18 oktober 2002 @ 12:12:
Zo doe ik het meestal:

code:
1
2
if object_id('<TABEL_NAAM>') is not null print 'bestaat' 
else print 'bestaat niet'
Allemaal bedankt voor jullie reactie. De oplossing van MrSunshine werkt en is ook erg eenvoudig.
Pagina: 1