estoy usando SQSH (versión 2.1) en Ubuntu 10.04 para conectarse a una base de datos MSSQL utilizando un comando como este:consulta SELECT en una tabla con un espacio en el nombre utilizando SQSH
sqsh -S server -U user -P password -D database
tengo una tabla llamada Mi Tabla, pero no puedo encontrar una forma de ejecutar una consulta SELECT sobre ella. Esto es lo que he intentado hasta ahora:
SELECT * FROM 'My Table'
go
Salida: Sintaxis incorrecta cerca de 'Mi Tabla'. (Obtengo lo mismo para comillas dobles)
\set t="My Table"
SELECT * FROM $t
go
Salida: Nombre de objeto no válido 'Mi'. (Lo cual es raro porque si lo hago \ echo $ t, me sale el nombre de la tabla completa)
SELECT * FROM My\\ Table
go
de salida: nombre de objeto no válido 'Mi'.
SELECT * FROM [My Table]
go
Salida: datos Unicode en un sólo Unicode cotejo de datos ntext o no pueden ser enviados a los clientes mediante DB-Library (como ISQL) u ODBC versión 3.7 o anterior.
Este último comando funciona bien para los nombres de tablas sin espacios.
ACTUALIZACIÓN: otros comandos funcionan bien, p. Puedo obtener la descripción de la tabla con:
SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go
Usted está utilizando Sybase y tiene una tabla con espacios en el nombre? –
No, es una base de datos MSSQL. Lo siento, tal vez las etiquetas fueron engañosas. – jackocnr
¿Puedes probar qué sucede si eliminas el espacio del nombre de la tabla? –