El nombre de la tabla es Scores
.
¿Es correcto hacer lo siguiente?
IF EXISTS(SELECT *
FROM dbo.Scores)
DROP TABLE dbo.Scores
sql-server
tsql
tmaster
fuente
fuente
'U'
para el segundo parámetro aparentemente significa "Solo busca objetos con este nombre que sean tablas". Una de las fuentes . AsíOBJECT_ID('TableName')
que no está mal , pero tampoco es increíblemente preciso, por lo tanto,'U'
en la excelente respuesta de @ Martin.Desde SQL Server 2016 puede usar
Referencia: DROP IF EXISTS - algo nuevo en SQL Server 2016
Pronto estará en la Base de datos SQL Azure.
fuente
La forma ANSI SQL / multiplataforma es usar el INFORMATION_SCHEMA , que fue diseñado específicamente para consultar metadatos sobre objetos dentro de bases de datos SQL.
La mayoría de los servidores RDBMS modernos proporcionan, al menos, soporte básico de INFORMATION_SCHEMA, que incluye: MySQL , Postgres , Oracle , IBM DB2 y Microsoft SQL Server 7.0 (y superior) .
fuente
if exists
Cumple el ansi?He visto tantos que realmente no funcionan. cuando se crea una tabla temporal, debe eliminarse de tempdb.
El único código que funciona es:
fuente
dbo
paratempdb
hacer que esto funcione. También me gustaría sugerir agregar lo'u'
mencionado en los comentarios de la respuesta aceptada. Por lo tanto, la declaración IF completa se vería así:IF OBJECT_ID('tempdb..#temp', 'U')
En SQL Server 2016 (13.x) y superior
En versiones anteriores
U es tu
table type
fuente
O:
fuente
if exists (select * from sys.tables where name = 'Scores') drop table Scores
Espero que esto ayude:
fuente
Escribí un pequeño UDF que devuelve 1 si su argumento es el nombre de una tabla existente, 0 de lo contrario:
Para eliminar la tabla
User
si existe, llámela así:fuente
Simple es eso:
dónde
dbo.TableName
está tu mesa deseada y 'U' estype
tuyatable
.fuente
fuente
Yo suelo:
fuente
Hay una manera más fácil
fuente
Una mejor manera visual y fácil, si está utilizando Visual Studio, simplemente abra desde la barra de menú,
debería abrirse como se muestra aquí
Seleccione y haga clic derecho en la tabla que desea eliminar, luego elimine. Tal pantalla debería mostrarse. Haga clic en Actualizar base de datos para confirmar.
Este método es muy seguro, ya que le brinda retroalimentación y le advertirá de cualquier relación de la tabla eliminada con otras tablas.
fuente
SQL
, no está relacionada conVisual Studio
. Por lo tanto, esta respuesta es irrelevante para esta pregunta.Hazlo así, es la forma más fácil.
qry
será tu propia consulta, lo que quieras en la lista de selección.fuente