2012-06-05 3 views
0

В настоящее время, у меня есть строка имен столбцов, как показано ниже (эта строка вычисляется в хранимой про, и имя столбца получил из нескольких таблиц):Как получить только имена столбцов в следующем примере?

@str = 'select FieldName1, FieldName2, FieldName3' 

в хранении, как я могу сделать, чтобы вернуть DataTable без данных и @str - это список имен столбцов? Я пытался запросить так:

exec (@str) 

но требует таблицы для него. Но я не хочу помещать таблицу, потому что она будет запрашивать данные, и это займет много времени.

ответ

0

Put 'нулевой' перед каждым именем столбца, например:

select null as FieldName1, null as FieldName2, null as FieldName3 
+0

В зависимости от того, что вы используете для него, вы также можете использовать поля (т. «cast (null as int) как FieldName1»). Не знаю, для чего вы используете это, но если потребительский код должен видеть типы данных, то я думаю, что это также может помочь. –

+0

Да, ты определенно мне очень помог. Благодарю. –

0

Нанести где нет условия, которые имеют не совпадающие данные, такие как

EDIT:

Благодаря @ Brandon Moore:

SELECT column1, column2 
FROM myTable 
WHERE 1= 0 
+0

Да, большое вам спасибо. Но мне больше нравится ответ. –

+0

@ThangLang На самом деле, мой ответ даст вам то, что, как я думаю, вам действительно нужно, но оно «возвращает» 1 строку нулевых значений. Чтобы получить именно то, о чем вы просите (т. Е. Никаких результатов), вам нужно будет включить ответ Yaqub в свой код. Но предложение where может быть таким же простым, как «где 1 = 0». –

+0

где 1 = 0 БОЛЬШОЕ решение @Brandon Moore !! –

Смежные вопросы