Всем привет! Возникла проблема - не знаю как на MS SQL Server 2000 через PHP реализовать код проверки базы данных и содержащихся в ней таблиц на существование. Короче, мне нужна конструкция подобная MySQL: mysql_query("create database IF NOT EXISTS `".$db_name."`;"); (ну и для таблиц соответственно) -- только для MSSQLServer 2k... Заранее спасибо ))
1. На вскидку, скрипт д.б. типа этого (системная табличка sysdatabases хранится в БД master): if exists (select * from master..sysdatabases where [name] = 'имя_бд') begin select 1 end else begin select 0 end Либо, используя системную хранимую процедуру sp_helpdb (вне зависимости от контекста БД): exec sp_helpdb вернет список существующих БД Либо используй представление информационной схемы: select * from INFORMATION_SCHEMA.SCHEMATA [where catalog_name = 'имя_бд' ] В квадратных скобках - необязательное условие, без него вернет по 1 записи на существующую БД. 2. По таблицам БД РЕКОМЕНДУЕТСЯ использовать представления информационной схемы: INFORMATION_SCHEMA.TABLES, INFORMATION_SCHEMA.VIEWS, INFORMATION_SCHEMA.VIEW_TABLE_USAGE запускаемым в контексте конкретной базы данных Хотя можно и напрямую обратиться к системным табличкам, типа sysobjects.