@ASSET_SN int,int类型不用指定宽度阿

解决方案 »

  1.   

    int 类型是不能指定长度的;
      

  2.   

    这样试试: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
      

  3.   

    这样试试: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
      

  4.   

    犯了一个低级错误,把 = 改为 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