CREATE PROCEDURE Test
@Query as char(10), ---- 查询字段
@SqlString as char(10) -----查询条件as
declare @sql nvarchar(1000)
set @sql=N' select ComputerNO as 电脑编号,'+
N' FinanceNO as 财务编号 ,'+
N' Type as 电脑类型,'+
N' Re as 备注,'+
N' BuyTime as 购买时间,'+
N' [User] as 使用者'+
N' From computer'+
N' where '+@Query+'=@SqlString' exec sp_executesql @sql,N'@SqlString char(10)',@SqlStringGO
@Query as char(10), ---- 查询字段
@SqlString as char(10) -----查询条件as
declare @sql nvarchar(1000)
set @sql=N' select ComputerNO as 电脑编号,'+
N' FinanceNO as 财务编号 ,'+
N' Type as 电脑类型,'+
N' Re as 备注,'+
N' BuyTime as 购买时间,'+
N' [User] as 使用者'+
N' From computer'+
N' where '+@Query+'=@SqlString' exec sp_executesql @sql,N'@SqlString char(10)',@SqlStringGO
CREATE PROCEDURE Test
@Query as char(10),---- 查询字段
@SqlString as char(10)-----查询条件as
declare @str varchar(4000)
set @str='select ComputerNO as 电脑编号,FinanceNO as 财务编号 ,Type as 电脑类型,Re as 备注,
BuyTime as 购买时间,
User as 使用者
From computer
where '+@Query+'='+@SqlString --Select @Query as 传递进入的查询字段 ----为测试查看用
--Select @SqlString as 查询的SQL条件 -----为测试查看用
exec(@str)
return
GO
已经能够运行,但是
运行是
execute test "Type",@Sqlstring="'a%'"再请教如何把查询条件中的这两个单引号放在存储过程中!CREATE PROCEDURE Test@Query as char(20),---- 查询字段
@SqlString as varchar(50)-----查询条件as
Declare @Str varchar(4000) set @Str ='select ComputerNO as 电脑编号, FinanceNO as 财务编号 ,Type as 电脑类型, Re as 备注, BuyTime as 购买时间, User as 使用者 From computer where ' +
@Query+' Like'+ @SqlString -----Select @Query as 传递进入的查询字段
----Select @SqlString as 查询的SQL条件
----select @Str
Execute (@Str)return
GO
execute test "Type",@Sqlstring="'a%'"
execute test 'Type',@Sqlstring='''a%'''
--方法二:
execute test 'Type',@Sqlstring=char(0x27)+'a%'+char(0x27)