这样试试:CREATE PROCEDURE Proc_Query_SMSINFO_TECHNINAL -- Param: 9 ( -- SMSINFO VIEW Information 9 @ASSET_SN int, @HOSTNAME char(32), @CPU_TYPE char(32), @MEMORY varchar(32), @SMS_LEVEL char(16), --@ASSETSN int(4), @HOST_NAME char(32), @CPUTYPE char(32), @MEMORY2 varchar(32), @SMSLEVEL char(16) ) AS declare @err int select @err = @@Error set nocount on select * from SMSINFO where ((@ASSET_SN = null or ASSET_SN = @ASSET_SN) and (@HOSTNAME=null or HOSTNAME LIKE N'%' + @HOSTNAME + '%') and (@CPU_TYPE=null or CPU_TYPE LIKE N'%' + @CPU_TYPE + '%') and (@MEMORY=null or MEMORY LIKE N'%' + @MEMORY + '%') and (@SMS_LEVEL=null or SMS_LEVEL LIKE N'%' + @SMS_LEVEL + '%') and (@HOST_NAME=null or HOST_NAME LIKE N'%' + @HOST_NAME + '%') and (@CPUTYPE=null or CPUTYPE LIKE N'%' + @CPUTYPE + '%') and (@MEMORY2=null or MEMORY2 LIKE N'%' + @MEMORY2 + '%') and (@SMSLEVEL=null or SMSLEVEL LIKE N'%' + @SMSLEVEL + '%')) GO
这样试试:CREATE PROCEDURE Proc_Query_SMSINFO_TECHNINAL -- Param: 9 ( -- SMSINFO VIEW Information 9 @ASSET_SN int, @HOSTNAME char(32), @CPU_TYPE char(32), @MEMORY varchar(32), @SMS_LEVEL char(16), --@ASSETSN int(4), @HOST_NAME char(32), @CPUTYPE char(32), @MEMORY2 varchar(32), @SMSLEVEL char(16) ) AS declare @err int select @err = @@Error set nocount on select * from SMSINFO where ((@ASSET_SN = null or ASSET_SN = @ASSET_SN) and (@HOSTNAME=null or HOSTNAME LIKE N'%' + @HOSTNAME + '%') and (@CPU_TYPE=null or CPU_TYPE LIKE N'%' + @CPU_TYPE + '%') and (@MEMORY=null or MEMORY LIKE N'%' + @MEMORY + '%') and (@SMS_LEVEL=null or SMS_LEVEL LIKE N'%' + @SMS_LEVEL + '%') and (@HOST_NAME=null or HOST_NAME LIKE N'%' + @HOST_NAME + '%') and (@CPUTYPE=null or CPUTYPE LIKE N'%' + @CPUTYPE + '%') and (@MEMORY2=null or MEMORY2 LIKE N'%' + @MEMORY2 + '%') and (@SMSLEVEL=null or SMSLEVEL LIKE N'%' + @SMSLEVEL + '%')) GO
犯了一个低级错误,把 = 改为 is:CREATE PROCEDURE Proc_Query_SMSINFO_TECHNINAL -- Param: 9 ( -- SMSINFO VIEW Information 9 @ASSET_SN int, @HOSTNAME char(32), @CPU_TYPE char(32), @MEMORY varchar(32), @SMS_LEVEL char(16), --@ASSETSN int(4), @HOST_NAME char(32), @CPUTYPE char(32), @MEMORY2 varchar(32), @SMSLEVEL char(16) ) AS declare @err int select @err = @@Error set nocount on select * from SMSINFO where ((@ASSET_SN is null or ASSET_SN = @ASSET_SN) and (@HOSTNAME is null or HOSTNAME LIKE N'%' + @HOSTNAME + '%') and (@CPU_TYPE is null or CPU_TYPE LIKE N'%' + @CPU_TYPE + '%') and (@MEMORY is null or MEMORY LIKE N'%' + @MEMORY + '%') and (@SMS_LEVEL is null or SMS_LEVEL LIKE N'%' + @SMS_LEVEL + '%') and (@HOST_NAME is null or HOST_NAME LIKE N'%' + @HOST_NAME + '%') and (@CPUTYPE is null or CPUTYPE LIKE N'%' + @CPUTYPE + '%') and (@MEMORY2 is null or MEMORY2 LIKE N'%' + @MEMORY2 + '%') and (@SMSLEVEL is null or SMSLEVEL LIKE N'%' + @SMSLEVEL + '%')) GO
(
-- SMSINFO VIEW Information 9
@ASSET_SN int,
@HOSTNAME char(32),
@CPU_TYPE char(32),
@MEMORY varchar(32),
@SMS_LEVEL char(16),
--@ASSETSN int(4),
@HOST_NAME char(32),
@CPUTYPE char(32),
@MEMORY2 varchar(32),
@SMSLEVEL char(16)
)
AS
declare @err int
select @err = @@Error
set nocount on
select * from SMSINFO
where ((@ASSET_SN = null or ASSET_SN = @ASSET_SN) and
(@HOSTNAME=null or HOSTNAME LIKE N'%' + @HOSTNAME + '%') and
(@CPU_TYPE=null or CPU_TYPE LIKE N'%' + @CPU_TYPE + '%') and
(@MEMORY=null or MEMORY LIKE N'%' + @MEMORY + '%') and
(@SMS_LEVEL=null or SMS_LEVEL LIKE N'%' + @SMS_LEVEL + '%') and
(@HOST_NAME=null or HOST_NAME LIKE N'%' + @HOST_NAME + '%') and
(@CPUTYPE=null or CPUTYPE LIKE N'%' + @CPUTYPE + '%') and
(@MEMORY2=null or MEMORY2 LIKE N'%' + @MEMORY2 + '%') and
(@SMSLEVEL=null or SMSLEVEL LIKE N'%' + @SMSLEVEL + '%'))
GO
(
-- SMSINFO VIEW Information 9
@ASSET_SN int,
@HOSTNAME char(32),
@CPU_TYPE char(32),
@MEMORY varchar(32),
@SMS_LEVEL char(16),
--@ASSETSN int(4),
@HOST_NAME char(32),
@CPUTYPE char(32),
@MEMORY2 varchar(32),
@SMSLEVEL char(16)
)
AS
declare @err int
select @err = @@Error
set nocount on
select * from SMSINFO
where ((@ASSET_SN = null or ASSET_SN = @ASSET_SN) and
(@HOSTNAME=null or HOSTNAME LIKE N'%' + @HOSTNAME + '%') and
(@CPU_TYPE=null or CPU_TYPE LIKE N'%' + @CPU_TYPE + '%') and
(@MEMORY=null or MEMORY LIKE N'%' + @MEMORY + '%') and
(@SMS_LEVEL=null or SMS_LEVEL LIKE N'%' + @SMS_LEVEL + '%') and
(@HOST_NAME=null or HOST_NAME LIKE N'%' + @HOST_NAME + '%') and
(@CPUTYPE=null or CPUTYPE LIKE N'%' + @CPUTYPE + '%') and
(@MEMORY2=null or MEMORY2 LIKE N'%' + @MEMORY2 + '%') and
(@SMSLEVEL=null or SMSLEVEL LIKE N'%' + @SMSLEVEL + '%'))
GO
(
-- SMSINFO VIEW Information 9
@ASSET_SN int,
@HOSTNAME char(32),
@CPU_TYPE char(32),
@MEMORY varchar(32),
@SMS_LEVEL char(16),
--@ASSETSN int(4),
@HOST_NAME char(32),
@CPUTYPE char(32),
@MEMORY2 varchar(32),
@SMSLEVEL char(16)
)
AS
declare @err int
select @err = @@Error
set nocount on
select * from SMSINFO
where ((@ASSET_SN is null or ASSET_SN = @ASSET_SN) and
(@HOSTNAME is null or HOSTNAME LIKE N'%' + @HOSTNAME + '%') and
(@CPU_TYPE is null or CPU_TYPE LIKE N'%' + @CPU_TYPE + '%') and
(@MEMORY is null or MEMORY LIKE N'%' + @MEMORY + '%') and
(@SMS_LEVEL is null or SMS_LEVEL LIKE N'%' + @SMS_LEVEL + '%') and
(@HOST_NAME is null or HOST_NAME LIKE N'%' + @HOST_NAME + '%') and
(@CPUTYPE is null or CPUTYPE LIKE N'%' + @CPUTYPE + '%') and
(@MEMORY2 is null or MEMORY2 LIKE N'%' + @MEMORY2 + '%') and
(@SMSLEVEL is null or SMSLEVEL LIKE N'%' + @SMSLEVEL + '%'))
GO