不要把表建立在tempdb中,换一个数据库还有没有错误?

解决方案 »

  1.   

    错误: 
    消息 207,级别 16,状态 1,过程 NgListInfoDel,第 123 行 
    列名 'Num' 无效。 
    消息 207,级别 16,状态 1,过程 NgListInfoDel,第 123 行 
    列名 'Num' 无效。 
    在出错的行数之前,你已经把num列删了?
      

  2.   


    ALTER PROCEDURE [dbo].[NgListInfoDel] 
    @StartDate  smalldatetime ,  --开始时间 
    @EndDate  smalldatetime --结束时间
    AS 
    BEGIN 
    IF EXISTS(SELECT *  FROM tempdb.dbo.sysobjects WHERE NAME = 'NgListInfoDel') 
    BEGIN 
    DROP TABLE tempdb.dbo.NgListInfoDel 
    END 
    declare @sql varchar(2000)
    CREATE TABLE tempdb.[dbo].[NgListInfoDel]( 
    [Num] [int] IDENTITY(1,1) NOT NULL, 
    [BssID] [tinyint] NULL, 
    [BtsID] [int] NOT NULL, 
    [CellID] [tinyint] NOT NULL, 
    [CarrierID] [tinyint] NOT NULL, 
    [BtsType] [nvarchar](100) NULL, 
    [CI] [int] NULL, 
    [CellName] [nvarchar](100) NULL, 
    [TargetCI] [int] NOT NULL, 
    [TargetCellName] [nvarchar](100) NULL, 
    [TargetPN] [int] NULL, 
    [Dist] [decimal](10, 2) NULL, 
    [HoSNum] [int] NULL, 
    [HoFNum] [int] NULL, 
    [HoFRate] [decimal](10, 3) NULL, 
    [HoTotNum] [int] NULL, 
    [HoRate] [decimal](10, 3) NULL, 
    [NgNum] [int] NULL, 
    [Locked] [tinyint] NULL 
    ) ON [PRIMARY] --ALTER TABLE tempdb.dbo.NgListInfoDel ADD NUM  INT IDENTITY(1,1) 
    --================================================================================================= 
    --插入现网配置的载波邻区列表 
    --================================================================================================= 
    INSERT INTO tempdb.dbo.NgListInfoDel(BssID,BtsID,CellID,CarrierID,TargetCI,TargetPN,Locked) 
    SELECT A.BssID,A.SYSTEM,A.CellID,A.CarrierID,A.CI,A.PILOT_PN,A.Locked_B 
    FROM WY_CNO_CMP_DB.DBO.TRX_NGLISTINFO AS A --================================================================================================= 
    --删除重复数据 
    --================================================================================================= 
    set @sql = 'DELETE FROM tempdb.dbo.NgListInfoDel WHERE Num Not IN(SELECT max(B.Num) FROM tempdb.dbo.NgListInfoDel AS B 
    GROUP BY B.BSSID,B.BTSID,B.CellId,B.CarrierId,B.TargetCI,B.TargetPN) '
    EXEC(@sql)
    --================================================================================================= 
    --删除[Num] 
    --================================================================================================= 
    ALTER TABLE tempdb.dbo.NgListInfoDel DROP COLUMN Num END 
      

  3.   


    ALTER PROCEDURE [dbo].[NgListInfoDel] 
    @StartDate smalldatetime ,  --开始时间 
    @EndDate smalldatetime --结束时间 
    AS 
    BEGIN 
    IF EXISTS(SELECT * 
      FROM tempdb.dbo.sysobjects 
      WHERE NAME = #taoistong) 
    BEGIN 
    DROP TABLE #taoistong 
    END CREATE TABLE #taoistong( 
    [Num] [int] IDENTITY(1,1) NOT NULL, 
    [BssID] [tinyint] NULL, 
    [BtsID] [int] NOT NULL, 
    [CellID] [tinyint] NOT NULL, 
    [CarrierID] [tinyint] NOT NULL, 
    [BtsType] [nvarchar](100) NULL, 
    [CI] [int] NULL, 
    [CellName] [nvarchar](100) NULL, 
    [TargetCI] [int] NOT NULL, 
    [TargetCellName] [nvarchar](100) NULL, 
    [TargetPN] [int] NULL, 
    [Dist] [decimal](10, 2) NULL, 
    [HoSNum] [int] NULL, 
    [HoFNum] [int] NULL, 
    [HoFRate] [decimal](10, 3) NULL, 
    [HoTotNum] [int] NULL, 
    [HoRate] [decimal](10, 3) NULL, 
    [NgNum] [int] NULL, 
    [Locked] [tinyint] NULL 
    ) ON [PRIMARY] --ALTER TABLE #taoistong ADD NUM  INT IDENTITY(1,1) 
    --================================================================================================= 
    --插入现网配置的载波邻区列表 
    --================================================================================================= 
    INSERT INTO #taoistong(BssID,BtsID,CellID,CarrierID,TargetCI,TargetPN,Locked) 
    SELECT A.BssID,A.SYSTEM,A.CellID,A.CarrierID,A.CI,A.PILOT_PN,A.Locked_B 
    FROM WY_CNO_CMP_DB.DBO.TRX_NGLISTINFO AS A --================================================================================================= 
    --删除重复数据 
    --================================================================================================= 
    DELETE FROM #taoistong 
    WHERE Num Not IN(SELECT max(B.Num) FROM #taoistong AS B 
    GROUP BY B.BSSID,B.BTSID,B.CellId,B.CarrierId,B.TargetCI,B.TargetPN) 
    --================================================================================================= 
    --删除[Num] 
    --================================================================================================= 
    ALTER TABLE #taoistong DROP COLUMN Num END 
    你的算法逻辑不对