Мой голос за хранимые процедуры; как уровень абстракции близко к данным, эффективным с наборами, допускающими повторное использование многими "клиентами" (клиентские языки). Язык T-SQL немного примитивен (и я предполагаю, что это - то, что большинство парней C# здесь в ТАК было представлено), но МН Oracle / SQL на одном уровне с любым современным языком программирования.
Что касается управления версиями, просто помещает код хранимой процедуры в текстовые файлы при управлении версиями, затем выполняет сценарии для создания procs в базе данных.
вы хотите использовать ИЗ
Например:
select ...
FROM fn_GetConfigurationByProfile('DEFAULTPROFILE')
попробуйте это
SELECT * FROM dbo.fn_GetConfigurationByProfile('DEFAULTPROFILE')
Вы используете его в предложении FROM, например:
SELECT ....
FROM dbo.fn_GetConfigurationByProfile('DEFAULTPROFILE')
Вы также можете присоединить его к таблицам или использовать предложение where, помимо прочего.
SELECT *
FROM dbo.fn_GetConfigurationByProfile('DEFAULTPROFILE')
Другие показали, как можно вызвать функцию таблицы в стандартном запросе. Однако могу ли я предположить, что вы можете предпочесть создать представление, а не функцию?
CREATE VIEW [dbo].[ConfigurationView] AS
SELECT
system_settings_profiles.ssp_name,
system_settings_groups.ssg_id,
system_settings_groups.ssg_name,
system_settings_groups.ssg_parent_group_id,
system_settings_names.ssn_name,
system_Settings_names.ssn_display_name,
system_settings_values.ssv_value
FROM system_settings_profiles
JOIN system_settings_values
ON system_settings_profiles.ssp_id = system_settings_values.ssv_ssp_id
JOIN system_settings_names
ON system_settings_names.ssn_id = system_settings_values.ssv_ssn_id
JOIN system_settings_groups
ON system_settings_groups.ssg_id = system_settings_names.ssn_ssg_id
GO
Тогда вы можете использовать его в своем SQL следующим образом.
SELECT
*
FROM
ConfigurationView
WHERE
ConfigurationView.ssp_name = 'DEFAULTPROFILE'
У вас будут добавленные параметры индексации представления, а также фильтрации по другим параметрам. данные легко, если они вам потребуются.