Sé que esto es similar a this question, pero estoy usando SQL Server CE 3.5 con un proyecto de WinForms en C#. ¿Cómo puedo determinar si existe una tabla? Sé que la palabra clave IF
no es compatible, aunque EXISTS
es. ¿Information_schema existe en CE donde puedo consultar contra él? Gracias.¿Determina si la tabla existe en SQL Server CE?
Respuesta
Sí, sí que existe:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'TableName'
No sería "SELECCIONAR COUNT (ID)" más fácil y un poco más eficiente (en caso de que la tabla sea ancha (muchas columnas) o alta (muchas filas)? –
Realmente depende de cómo quiera codificarla. solo quieres verificar la existencia, entonces sí. Solo quería demostrar que INFORMATION_SCHEMA.TABLES está disponible se puede consultar. El resto es SQL básico. –
@MehrdadAfshari Go Persians !! –
Como alternativa, se puede consultar la tabla y coger la excepción lanzada. Si hay una excepción, no se encontró la tabla; de lo contrario, existe la tabla.
SELECT TOP 1 1 FROM TableName;
Una prueba de rendimiento pequeña y simple tuvo mejores resultados que la consulta contra INFORMATION_SCHEMA. Aunque consideraría una consulta contra INFORMATION_SCHEMA como más limpia.
Si la tabla no existe, ese método lanza una excepción, por lo que no debes hacer eso: atrapar una excepción nunca es el camino a seguir cuando hay una alternativa limpia. –
Usando ayudante Base de datos:
var db = Database.Open("MyDatabase");
var sql = @"SELECT Count(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'MyTable'"
var count = db.QueryValue(sql);
if(count.Equals(1)){
//table exists
}
- 1. SQL Server CE: si existe la actualización else inserte
- 2. ¿encoger o compactar en Sql Server CE?
- 3. cómo comprobar si la tabla existe y si no existe Crear una tabla en SQL Server 2008
- 4. SQL Server SI NO EXISTE ¿Uso?
- 5. Eliminar fila si existe tabla SQL
- 6. Compruebe si existe una tabla SQL
- 7. Inserción masiva en SQL Server CE
- 8. ¿Cómo puedo actualizar mi Sql Server CE 3.5 sdf a Sql Server CE 4.0?
- 9. ¿Cuál es la mejor manera de determinar si existe una tabla temporal en SQL Server?
- 10. Comprobar si la tabla existe en C#
- 11. SI EXISTE en T-SQL
- 12. SQL Server - Cómo encontrar si existe un índice agrupado
- 13. ¿Puedo usar SQL Server Compact Edition CE en Mono?
- 14. Profiler para Sql CE
- 15. Tabla "Herencia" en SQL Server
- 16. ¿Cómo verifico si existe una columna en SQL Server?
- 17. Compruebe si existe tabla
- 18. Paginación de datos en SQL Server CE (Edición compacta)
- 19. ¿Por qué SQL Server CE no es compatible con varchar?
- 20. Comprobar si existe tabla
- 21. SQL Server: Permisos en la tabla
- 22. Actualice la misma tabla en SQL Server
- 23. Linq con cláusulas WHERE opcionales y Sql Server CE
- 24. controlador jdbc para Microsoft SQL Server CE (Edición Compacta) 3.5
- 25. ¿Determina si existe una actividad en el dispositivo actual?
- 26. Usando consulta SQL para determinar si existe una tabla
- 27. SQL CE Max Length
- 28. SQL portátil para determinar si existe una tabla o no?
- 29. ¿Cómo usar SQL Server Compact Edition (CE) desde Java?
- 30. Servidor SQL: SI EXISTE; ELSE
pensé que tenía una aplicación ingeniosa de código justo lo que se necesitaba para esto, pero no funciona para mí. Publiqué una pregunta diesbezueglich en: http://social.msdn.microsoft.com/Forums/en-US/8ee6aefa-e47b-4f0c-8735-120b8bf041ec/why-is-my-sqlserver-ce-code-failing (Intenté publicarlo en codeproject, pero me congeló varias veces) –
La tercera vez fue un encanto: http://www.codeproject.com/Questions/629607/Why-is-my-SQLServer-CE-code- fracasando Sí, lo crucé, pero a dos foros diferentes, así que con suerte eso no se considera disparatado. –