Hola, no es muy recomendado que digamos usar las tablas de sistema, de hecho en 2005 no estan mas y en su lugar estan las vistas de sistema (por mas que esa instruccion siga funcionando) lño que yo les recomiendo es usar
 
IF OBJECT_ID('OBJETONAME´) IS NULL
    BEGIN
       CREATE TABLE.....
   END
ELSE
  BEGIN
     ALTER TABLE .....
  END
 


 
2006/11/13, Poli García <[EMAIL PROTECTED]>:
Para verificar si un objeto de la base de datos existe podés hacer un query a las tablas que definen el esquema de base. Por ejemplo en MSSQL2000 podías hacer:
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'MiBaseDeDatos')
    -- hacer algo con la base de datos
GO
if exists (select * from dbo. sysobjects where id = object_id(N' <id_de_objeto>'))
    -- Hacer algo con el objeto
GO

No me metí a ver... pero en MSSQL2005 debe haber algo similar...


On 11/7/06, Julian Berlin <[EMAIL PROTECTED] > wrote:

Hola gente
Necesito hacer un script que me permita actualizar objetos de una base de datos MSSQL 2005 (con objetos me refiero a tablas , funciones , SP ,etc )de manera tal que de si ya existen , me haga un ALTER y en caso q no los cree , la verdad no tengo mucha idea de cómo seria la sintaxis , osea seria algo asi:

SI existe <NombreTabla>
       ALTER TABLE....
SINO
        CREATE TABLE....
FIN

Si alguien tiene alguna idea de cómo hacer esto lo agradecere !
Saludos !!

Julián R Berlín





--
Poli García



--
----------------------------------------------------
Microsoft MVP (Most Valuable Professional) SQL Server
Orador Culminis
(www.sqlgurus.org)
-------------------------------------------

Responder a