Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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 (sql) [Seleccionar]

USE master
GO

IF exists (SELECT * FROM sysdatabases WHERE name='mapeo1')
DROP DATABASE mapeo1
GO

CREATE DATABASE mapeo1
GO

CREATE TABLE EMP(
...
.
.


Pero parece que no está funcionando, porque me da el siguiente error:
CitarMsg 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 (sql) [Seleccionar]
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.


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
Cita de: 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.

Pues sí, me ha funcionado, gracias.