OK, así Sybase (12.5.4) me deja hacer lo siguiente para eliminar una tabla si ya existe:¿Cómo creo condicionalmente una tabla en Sybase (TSQL)?
IF EXISTS (
SELECT 1
FROM sysobjects
WHERE name = 'a_table'
AND type = 'U'
)
DROP TABLE a_table
GO
Pero si trato de hacer lo mismo con la creación de la tabla, siempre me dan advertido que la tabla ya existe, porque siguió adelante y trató de crear mi tabla e ignoró la declaración condicional. Sólo trate de ejecutar la siguiente declaración en dos ocasiones, verá lo que quiero decir:
IF NOT EXISTS (
SELECT 1
FROM sysobjects
WHERE name = 'a_table'
AND type = 'U'
)
CREATE TABLE a_table (
col1 int not null,
col2 int null
)
GO
Ejecución del anterior produce el siguiente error:
SQL Server Error on (localhost) Error:2714 at Line:7 Message:There is already an object named 'a_table' in the database.
Cuál es el problema con eso ?!
¿Qué hay con las respuestas de downvoting? ¿Y luego premiarte con la aceptación? Por una falta de respuesta? – dkretz
He bajado las respuestas que no ayudan a responder la pregunta, ese es el propósito de la votación negativa. He votado a favor de las respuestas que me ayudaron y fueron viables, pero al final la única solución que funcionó para mí fue la mía. No obtengo un representante por responder mi propia pregunta, por lo que no me conviene hacerlo. – ninesided
Bastante justo. Recordaré no responder, a menos que esté seguro de que su respuesta sea respondida. En este caso, no había suficiente información para saber, así que estaba perdiendo el tiempo. – dkretz