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.
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
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:
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/
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.mrSunshine schreef op 18 oktober 2002 @ 12:12:
Zo doe ik het meestal:
code:
1 2if object_id('<TABEL_NAAM>') is not null print 'bestaat' else print 'bestaat niet'
Pagina: 1