データベース関数を使用したことはありませんが、現在のプロジェクトでは必要です。一般的なSQLクエリを関数に入れる必要があるので、コードに何百回も入力する必要がありません。関数を作成しましたが、使用方法がわかりません。
機能コードは次のとおりです。
使用[DB_NAME] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER関数[dbo]。[fn_GetConfigurationByProfile] ( @profileName AS NVARCHAR(50) ) RETURNS TABLE AS RETURN ( -結果セットの行をテーブル変数に入力します 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 __ ss_profiles_settings_profiles_settings_profiles__ss JOIN system_settings_names ON system_settings_names.ssn_id = system_settings_values.ssv_ssn_id JOIN system_settings_groups ON _settings_groups.ssg_id = system_settings_names.ssn_ssg_id WHERE system_settings_profiles.ssp_name = @profileName )
それで、SQLクエリでこれをどのように使用しますか? SELECT fn_GetConfigurationByProfile( 'DEFAULTPROFILE')を使用するだけですか?
これは素人の質問かもしれませんが、そうですね。私は助けが必要です :)
使用したい[〜#〜] from [〜#〜]
例:
select ...
FROM fn_GetConfigurationByProfile('DEFAULTPROFILE')
これを試して
SELECT * FROM dbo.fn_GetConfigurationByProfile('DEFAULTPROFILE')
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'
ビューにインデックスを付けたり、必要に応じて他のデータを簡単にフィルタリングしたりするオプションが追加されます。
FROM句で使用します。例:
SELECT ....
FROM dbo.fn_GetConfigurationByProfile('DEFAULTPROFILE')
また、テーブルに結合したり、それに対してwhere句を使用したりすることもできます。