如何在 SQL Server Management Studio 中测试表值函数?
我从未使用过数据库函数,但我当前的项目需要它.我需要将一个常见的 sql 查询放入一个函数中,这样我们就不必在我们的代码中输入数百次.我已经创建了函数,但我不知道如何使用它.
功能代码如下:
<前>使用 [DB_NAME]走设置 ANSI_NULLS ON走设置 QUOTED_IDENTIFIER ON走更改功能 [dbo].[fn_GetConfigurationByProfile](@profileName AS NVARCHAR(50))退货表作为返回(-- 用结果集的行填充表变量选择 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_valueFROM system_settings_profiles加入 system_settings_valuesON system_settings_profiles.ssp_id = system_settings_values.ssv_ssp_id加入 system_settings_namesON system_settings_names.ssn_id = system_settings_values.ssv_ssn_id加入 system_settings_groupsON system_settings_groups.ssg_id = system_settings_names.ssn_ssg_idWHERE system_settings_profiles.ssp_name = @profileName)那么我将如何在 sql 查询中使用它?我只使用 SELECT fn_GetConfigurationByProfile('DEFAULTPROFILE') 吗?
这可能是一个业余问题,但好吧.我需要帮助:)
解决方案你想使用FROM
例如:
选择...FROM fn_GetConfigurationByProfile('DEFAULTPROFILE')SQL Server 用户定义函数
I've never worked with Database Functions, but my current project requires it. I need to put a common sql query into a function so we don't have to type it out in our code hundreds of times. I've got the function created, but I don't know how to use it.
Here's the function code:
USE [DB_NAME]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[fn_GetConfigurationByProfile]
(
@profileName AS NVARCHAR(50)
)
RETURNS TABLE
AS
RETURN
(
-- Fill the table variable with the rows for your result set
SELECT 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
WHERE system_settings_profiles.ssp_name = @profileName
)
So how would I use this in a sql query? Do I just use SELECT fn_GetConfigurationByProfile('DEFAULTPROFILE')?
This may be an amateur question, but oh well. I need help :)
解决方案you want to use FROM
E.g :
select ...
FROM fn_GetConfigurationByProfile('DEFAULTPROFILE')
SQL Server User-defined Functions
相关文章