Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Aikanáro Anário en 8 Febrero 2012, 05:45 am



Título: Eliminar una BD existente y volverla a crear con script sql server
Publicado por: Aikanáro Anário en 8 Febrero 2012, 05:45 am
Como soy nuevo en SQL, necesito ir probando lo que hago. Esta vez estoy haciendo un ejercicio de mapeo para crear una BD a partir de un modelo ER. Pero como ya cree la BD, me dice que está creada y no puedo seguir probando.

Lo que hice fue poner lo siguiente al inicio del script sql:

Código
  1. USE master
  2. GO
  3.  
  4. IF EXISTS (SELECT * FROM sysdatabases WHERE name='mapeo1')
  5. DROP DATABASE mapeo1
  6. GO
  7.  
  8. CREATE DATABASE mapeo1
  9. GO
  10.  
  11. CREATE TABLE EMP(
  12. ...
  13. .
  14. .
  15.  

Pero parece que no está funcionando, porque me da el siguiente error:
Citar
Msg 2714, Level 16, State 6, Line 2
There is already an object named 'EMP' in the database.
Msg 2714, Level 16, State 6, Line 2
There is already an object named 'DEP' in the database.
Msg 2714, Level 16, State 6, Line 2
There is already an object named 'COURSE' in the database.
Msg 2714, Level 16, State 4, Line 2

Aunque no me da ese error con la última tabla que cree que se llama TAKES. ¿Qué hay malo?


Título: Re: Eliminar una BD existente y volverla a crear con script sql server
Publicado por: Shell Root en 8 Febrero 2012, 07:38 am
Juaz sólo tengo MySQL. Que resultado obtienes de la query,
Código
  1. SELECT * FROM sysdatabases WHERE name='mapeo1'


Título: Re: Eliminar una BD existente y volverla a crear con script sql server
Publicado por: Aikanáro Anário en 8 Febrero 2012, 16:22 pm
Usando la BD master, esto es lo que obtengo:
Nota: la BD que creo (mapeo1) no tiene ninguna tupla, ningun dato.


Código:
name	dbid	sid								mode	status		status2		crdate			reserved			category	cmptlevel	filename										version
mapeo1 5 0x0105000000000005150000007F3BCDC635E6BA6460DB20DBEC030000 0 1073807369 1627389952 2012-02-08 00:52:25.363 1900-01-01 00:00:00.000 0 100 c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\mapeo1.mdf NULL


Título: Re: Eliminar una BD existente y volverla a crear con script sql server
Publicado por: Carloswaldo en 8 Febrero 2012, 20:32 pm
Tienes que poner un "USE mapeo1" después del CREATE DATABASE, te dice que ya existe el objeto porque lo has creado en la base de datos master.


Título: Re: Eliminar una BD existente y volverla a crear con script sql server
Publicado por: Aikanáro Anário en 10 Febrero 2012, 00:55 am
Tienes que poner un "USE mapeo1" después del CREATE DATABASE, te dice que ya existe el objeto porque lo has creado en la base de datos master.

Pues sí, me ha funcionado, gracias.