据我所知,我们可以通过 db 函数返回一个表:
CREATE FUNCTION MyFunction(@Value varchar(100))
RETURNS table
AS RETURN (select * from MyTable where ColumnName = '@Value')
在这个例子中,我们可以将列名作为函数的参数。我的问题是,我们可以将列名和表名写为函数的参数吗?因此我们可以编写一个更通用的函数,例如:
CREATE FUNCTION MyGenericSearchFunction(@TableName varchar(100), @ColumnName varchar(100), @Value varchar(100))
RETURNS table
AS RETURN (select * from @TableName where @ColumnName = '@Value')