Eliminar tabla si existe
¿Cómo colocar una tabla en database.mdf
si existe? La tabla existe en la base de datos, pero no puedo soltarla y obtengo un error:
System.Data.SqlClient.SqlException: 'Sintaxis incorrecta cerca de ''Talise Company-a''.'
Parece que el problema es mi cadena symbolName
porque cuando creo una tabla de "prueba" y uso "prueba" en lugar de la cadena, funciona bien
Captura de pantalla
string symbolName = dt.Rows[1][0].ToString();
SqlConnection condb2 = new SqlConnection(strConnection);
condb2.Open();
SqlCommand cmd2 = new SqlCommand("IF EXISTS(SELECT * FROM ['" + symbolName + "']) DROP ['" + symbolName + "']", condb2);
cmd2.ExecuteNonQuery();
condb2.Close();
Mostrar la mejor respuesta
Publicado : 4 April, 2018 @ 16:32
Deberías usar DROP TABLE
DROP TABLE ['" + symbolName + "']"
y podrías usar también
DROP TABLE IF EXISTS
evitar la selección inútil
https://docs .microsoft.com/it-it/sql/t-sql/statements/drop-table-transact-sql
SqlCommand cmd2 = new SqlCommand("IF EXISTS(SELECT * FROM ['" + symbolName +
"']) DROP TABLE ['" + symbolName + "']", condb2);
o a partir de SQL Server 2016 CTP3 puede usar esta característica
SqlCommand cmd2 = new SqlCommand(" DROP TABLE ['" + symbolName + "'] IF EXISTS", condb2);
Publicado : 4 April, 2018 @ 16:35
Tal vez actualice mi código porque soy tan novato en SQL al menos puedo entender mucho mejor
Publicado : 4 April, 2018 @ 16:38
System.Data.SqlClient.SqlException: 'Sintaxis incorrecta cerca de 'EXISTE'.'
Publicado : 4 April, 2018 @ 16:45
A partir de SQL Server 2016 CTP3, puede usar esta función. Respuesta actualizada. Si tiene una versión anterior, puede usar la primera.
Publicado : 4 April, 2018 @ 17:06
Muchas gracias, te debo un representante.
Publicado : 4 April, 2018 @ 17:14
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID('TABLE_NAME') AND type IN ('U'))
DROP TABLE TABLE_NAME
Publicado : 4 April, 2018 @ 16:56
O simplemente podría usar la vista más enfocada sys.tables
: IF EXISTS (SELECT * FROM sys.tables WHERE Name = N'TABLE_NAME')...
Publicado : 4 April, 2018 @ 16:57
Olvidaste mencionar la palabra de la tabla después de soltar la palabra.
IF EXISTS(SELECT * FROM ['" + symbolName + "']) DROP Table ['" + symbolName + "']", condb2
Publicado : 4 April, 2018 @ 17:03