2015-05-07 4 views
0

Это немного долгой и запутанной истории, почему я должен это сделать, но я буду получать строку запроса, который я затем выполняющийся с этим кодомSQL Server: установить все псевдонимы столбцов в динамическом запросе

EXECUTE sp_ExecuteSQL 

Мне нужно установить псевдонимы всех столбцов на «значение». Там может быть переменное число столбцов в запросах, которые пропускают, и они могут быть все виды типов данных, например

SELECT 
    Company, AddressNo, Address1, Town, County, Postcode 
FROM Customers 

SELECT 
    OrderNo, OrderType, CustomerNo, DeliveryNo, OrderDate 
FROM Orders 

ли это возможно и относительно просто сделать, или мне нужно получить псевдонимы, включенные в SQL-запросы (было бы проще не делать этого, если его можно избежать и сделать, когда мы обработаем запрос)

--- Редактировать --- В качестве примера, вывод из первый запрос будет

Company AddressNo Address1  Town County Postcode 
--------- --------- ------------ ------ -------- -------- 
Dave Inc 12345  1 Main Road Harlow Essex HA1 1AA 
AA Tyres 12234  5 Main Road Epping Essex EP1 1PP 

I wan т это будет

value  value  value  value value value 
--------- --------- ------------ ------ -------- -------- 
Dave Inc 12345  1 Main Road Harlow Essex HA1 1AA 
AA Tyres 12234  5 Main Road Epping Essex EP1 1PP 

Таким образом, каждый из столбца имеет псевдоним «значение»

я мог бы сделать это с

SELECT 
    Company AS 'value', AddressNo AS 'value', Address1 AS 'value', Town AS 'value', County AS 'value', Postcode AS 'value' 
FROM Customers 

, но было бы лучше (это позволит сэкономить дополнительные сложности в других шагах в цепочке процессов), если нам не пришлось вручную псевдонизировать каждый столбец SQL, который мы загружаем в этот раздел процесса.

Что касается проблемы XY, это крошечный раздел в очень большой цепочке процессов, это потребует страниц, чтобы подробно объяснить весь процесс - по сути, мы берем код из наших триггеров базы данных и помещаем его в динамическая процедура; то у нас будут интерфейсы, что пользователи получат доступ к «редактированию» операторов SQL, вызываемых триггерами, и затем динамически будут передавать результаты в другие системы. Он работает, если мы вручную перейдем к SQL, но он был бы более аккуратным, если бы мы могли прокормить чистый SQL в этот процесс, а затем применить псевдонимы при обработке SQL - это будет держать нас СУХОЙ, для начала.

+1

Пожалуйста, дайте нам пример, потому что это не совсем понятно, что вы хотите усвоить. – PeterRing

+2

Это звучит как проблема XY. Http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – Anon

+0

'column to" value "' Пожалуйста, поделитесь некоторыми примерами, что вы хотите достичь, например, если компания является «C1», тогда вы хотите, чтобы имя столбца было C1 .., но что, если есть две или более строк, выбранных с разными названиями компаний ? – Deepshikha

ответ

0

Я совсем не понимаю, чего вы пытаетесь достичь, но я верю, что ответ отрицательный: нет встроенного способа, как глобально предопределить или переопределить псевдонимы столбцов для специальных запросов. Вам нужно будет закодировать его самостоятельно.

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