sql server - Common WHERE Clause Across Multiple Stored Procedures -


i have number of queries use same where clauses example:

--query1 create proc query1     @param int begin     select         field2,         count(field2)              some_table              field1 = condition1         , field2 = @param      group         field1 end  --query2 create proc query2     @param int begin     select         field2,         count(field2)              some_table              field1 = condition1         , field2 = @param      group         field2 end 

i'm wondering if can create function or sort can use across queries prevent repeating code , better maintainability?

you use inline table valued function this

create function dbo.some_function  (        @param int ) returns table  return  (       select *         some_table        field1 = condition1              , field2 = @param ) 

then procedures use

select field1,        count(field1)   dbo.some_function(@param)  group  field1  

or

select field2,        count(field2)   dbo.some_function(@param)  group  field2  

if use * in function definition must remember refresh if underlying table definition changes sp_refreshsqlmodule avoid strange results reason better list columns explicitly.


Comments