Seleziona query su una tabella con uno spazio nel nome usando SQSH
-
30-10-2019 - |
Domanda
Sto usando SQSH (versione 2.1) su Ubuntu 10.04 per connettermi a un database MSSQL utilizzando un comando come questo:
sqsh -S server -U user -P password -D database
Ho un tavolo chiamato il mio tavolo, ma non riesco a trovare un modo per eseguire una query selezionata su di esso. Questo è quello che ho provato finora:
SELECT * FROM 'My Table'
go
Output: sintassi errata vicino a "My Table". (Ottengo lo stesso per le doppie citazioni)
\set t="My Table"
SELECT * FROM $t
go
Output: nome oggetto non valido 'mio'. (Che è strano perché se faccio echo $ t, ottengo il nome della tabella completa)
SELECT * FROM My\\ Table
go
Output: nome oggetto non valido 'mio'.
SELECT * FROM [My Table]
go
Output: i dati Unicode in una raccolta solo Unicode o i dati NTEXT non possono essere inviati ai client utilizzando DB-Library (come ISQL) o ODBC versione 3.7 o precedente.
Quest'ultimo comando funziona bene per i nomi di tabelle senza spazi.
Aggiornamento: altri comandi funzionano bene, ad esempio posso ottenere la descrizione della tabella con:
SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go
Nessuna soluzione corretta