问题描述
我从未使用过数据库函数,但我当前的项目需要它.我需要将一个常见的 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
这篇关于如何在 SQL Server Management Studio 中测试表值函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!