Как я тестирую Табличную Функцию в Studio управления SQL Server?

Мой голос за хранимые процедуры; как уровень абстракции близко к данным, эффективным с наборами, допускающими повторное использование многими "клиентами" (клиентские языки). Язык T-SQL немного примитивен (и я предполагаю, что это - то, что большинство парней C# здесь в ТАК было представлено), но МН Oracle / SQL на одном уровне с любым современным языком программирования.

Что касается управления версиями, просто помещает код хранимой процедуры в текстовые файлы при управлении версиями, затем выполняет сценарии для создания procs в базе данных.

32
задан Jeff 15 October 2009 в 12:31
поделиться

5 ответов

вы хотите использовать ИЗ

Например:

select ...

    FROM fn_GetConfigurationByProfile('DEFAULTPROFILE')

Пользовательские функции SQL Server

43
ответ дан 27 November 2019 в 20:42
поделиться

попробуйте это

SELECT * FROM dbo.fn_GetConfigurationByProfile('DEFAULTPROFILE')
7
ответ дан 27 November 2019 в 20:42
поделиться

Вы используете его в предложении FROM, например:

SELECT ....
FROM dbo.fn_GetConfigurationByProfile('DEFAULTPROFILE')

Вы также можете присоединить его к таблицам или использовать предложение where, помимо прочего.

1
ответ дан 27 November 2019 в 20:42
поделиться
SELECT *
FROM dbo.fn_GetConfigurationByProfile('DEFAULTPROFILE')
3
ответ дан 27 November 2019 в 20:42
поделиться

Другие показали, как можно вызвать функцию таблицы в стандартном запросе. Однако могу ли я предположить, что вы можете предпочесть создать представление, а не функцию?

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'

У вас будут добавленные параметры индексации представления, а также фильтрации по другим параметрам. данные легко, если они вам потребуются.

1
ответ дан 27 November 2019 в 20:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: