Seleccione la consulta en una tabla con un espacio en el nombre usando SQSH
-
30-10-2019 - |
Pregunta
Estoy usando SQSH (versión 2.1) en Ubuntu 10.04 para conectarme a una base de datos MSSQL usando un comando como este:
sqsh -S server -U user -P password -D database
Tengo una mesa llamada mi mesa, pero no puedo encontrar una manera de ejecutar una consulta selecta. Esto es lo que he probado hasta ahora:
SELECT * FROM 'My Table'
go
Salida: sintaxis incorrecta cerca de 'mi tabla'. (Obtengo lo mismo para citas dobles)
\set t="My Table"
SELECT * FROM $t
go
Salida: Nombre del objeto no válido 'my'. (Lo cual es extraño porque si hago echo $ t, obtengo el nombre completo de la tabla)
SELECT * FROM My\\ Table
go
Salida: Nombre del objeto no válido 'my'.
SELECT * FROM [My Table]
go
Salida: los datos de Unicode en una recopilación de unicode solo o los datos de NTEXT no se pueden enviar a los clientes utilizando DB-Library (como ISQL) o ODBC Versión 3.7 o anterior.
Este último comando funciona bien para los nombres de las mesa sin espacios.
Actualización: otros comandos funcionan bien, por ejemplo, puedo obtener la descripción de la tabla con:
SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go
No hay solución correcta