|
Hola, En SQL2000 tenes la siguiente sintaxis....(extraido de lo que genera el propio motor al exportar los objetos como scripts), para las tablas, procedimientos y vistas... if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PROCESOS_NEW]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spREDONDEO_DOLARES') and OBJECTPROPERTY(id, N'IsProcedure') = 1) if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[V_FECHA_PROC]') and OBJECTPROPERTY(id, N'IsView') = 1) Un ejemplo sería armarte un SP que haga algo como if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PROCESOS_NEW]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) begin ALTER TABLE ... end else begin CREATE TABLE... end Obviamente si necesitas hacerlo por diferencias, es decir que trabaje mirando por que campo le falta o si el tipo de dato es distinto...lo vas a tener que trabajar bastante. Tambien tenes una serie de vistas del schema INFORMATION_SCHEMA (mirate lo BOL) que tienen varias cosas resueltas. Espero que te ayude en algo esto... Saludos,. Silvana Natalia Quiroga wrote: Tenes que consultar el diccionario de la base de datos, existen varias tablas y sp de sistema que te permiten hacer esto.Por ejemplo, para saber si existe la tabla 'comprobantes': select * from sysobjects where name like '%comprobantes%' Por ejemplo, para saber si existe la columna 'id_comprobante': select * from syscolumns where name like '%id_comprobante%' También, para conocer la estructura de una tabla utilizo: exec sp_columns 'comprobantes' Y para ver información de una tabla: exec sp_table 'comprobantes' Si bien vas a tener que investigar más, espero que esto te ayude. Silvana.- -----Mensaje original----- De: [email protected] [mailto:[email protected]] En nombre de Julian Berlin Enviado el: Martes, 07 de Noviembre de 2006 03:00 p.m. Para: dbms List Member Asunto: [dbms] Script de DB 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 --
|
- [dbms] Script de DB Julian Berlin
- [dbms] Script de DB Silvana Natalia Quiroga
- [dbms] Script de DB Diego Campos
- [dbms] Script de DB Maxi Accotto
- [dbms] Script de DB Julian Berlin

