在开发过程中,需要把一句Sql 的expression作为一个参数传入Procedure中去。
在asp.net中,一个Search的动作,把用户所操作的搜索条件写成了一句表达式,现只需要把这句表达式传入存储过程中去,与存储过程中的Sql的Select组合来执行即可。
下面是存储过程:
Code
CREATE PROCEDURE [dbo].[usp_Member_Search]
(
@ConditionExpression nvarchar(1000)
)
AS
DECLARE @sql nvarchar(1200)
IF Len(@ConditionExpression)=0
SELECT @sql='SELECT * FROM [Member]'
ELSE
SELECT @sql='SELECT * FROM [Member] WHERE ' + @ConditionExpression
EXECUTE(@sql)
CREATE PROCEDURE [dbo].[usp_Member_Search]
(
@ConditionExpression nvarchar(1000)
)
AS
DECLARE @sql nvarchar(1200)
IF Len(@ConditionExpression)=0
SELECT @sql='SELECT * FROM [Member]'
ELSE
SELECT @sql='SELECT * FROM [Member] WHERE ' + @ConditionExpression
EXECUTE(@sql)