Copiar estructura tabla en otra existente.

08/04/2004 - 11:58 por Juanjo | Informe spam
Hola a todos.
Soy bastante novato en SQL Server y no se si se puede hacer esto.
Si tengo una aplicación que ataca una BDD SQL Server2000 y necesito
añadir más columnas a alguna tabla, ¿tengo que ir a todos los clientes que
usan mi aplicación y añadir en todas sus respectivas BDD las columnas en
cuestión?
Lo que he hecho es crearme una BDD Maestra con tablas vacías (que
reflejan la estructura de la BDD que usa la aplicación). Si añado columnas
nuevas a una tabla, lo hago en esta BDD Maestra. ¿Se podría luego copiar la
nueva estructura en las tablas de destino respetándome los datos que ya
tengan? O ¿Hay una forma mejor de hacerlo?


Muchas gracias,
Juanjo.
 

Leer las respuestas

#1 Maximiliano D. A.
08/04/2004 - 14:16 | Informe spam
Hola, hay una forma mas simple.

Si la tabla por ej le vas a agregar un campo podrias armarte un Script que
haga esto y al cliente en un archivo .Bat se lo mandas.

Veamos un ejemplo si?

=
CREATE TABLE #PEPE (ID CHAR(10), NOMBRE CHAR(50))

ALTER TABLE #PEPE ADD DIRECCION CHAR(50)


Lo primero que hago es crear una tabla (esto ya lo tenes vos) la segunda
instruccion agrega una columna direccion a esa tabla que cree antes.

Bueno esta segunda linea es la que deberias de poner en un archivo plano con
extension .sql, luego en todos los SqlServer hay un comando llamado Osql,
este se ejecuta de la linea de comandos (revisa los parametros del mismo).

La idea es que en un .BAT puedas poner la instruccion Osql que llame a este
.Sql y esto se ejecutara en tu Servidor.

Claro si es una Bdd antes yo por ej le pondria USE nombre_basededatos, y
luego la linea del Alter

Se entendio?

Otra opcion es que vos tengas un programa desarrollador por ti, que lo que
hace es leer este .Sql y ejecutarlo.
Este programa generalmente reside como una utilidad en tu cliente.

Bye




Salu2
Maxi

Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Juanjo" escribió en el mensaje
news:c537r4$q9p$
Hola a todos.
Soy bastante novato en SQL Server y no se si se puede hacer esto.
Si tengo una aplicación que ataca una BDD SQL Server2000 y necesito
añadir más columnas a alguna tabla, ¿tengo que ir a todos los clientes que
usan mi aplicación y añadir en todas sus respectivas BDD las columnas en
cuestión?
Lo que he hecho es crearme una BDD Maestra con tablas vacías (que
reflejan la estructura de la BDD que usa la aplicación). Si añado columnas
nuevas a una tabla, lo hago en esta BDD Maestra. ¿Se podría luego copiar


la
nueva estructura en las tablas de destino respetándome los datos que ya
tengan? O ¿Hay una forma mejor de hacerlo?


Muchas gracias,
Juanjo.







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004

Preguntas similares