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:
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?
			
 
			
			
				Juaz sólo tengo MySQL. Que resultado obtienes de la query,
SELECT * FROM sysdatabases WHERE name='mapeo1'
			
			
			
				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
			
			
			
				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.
			
			
			
				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.