posts - 431,  comments - 344,  trackbacks - 0
          1. 刪除表的重復記錄
           
          如果記錄完全相同才算重復記錄 , 那么 : (sql server2000 下測試通過 )
           select distinct * into #tmpp from person
           delete from person
           insert into person select * from #tmpp
           drop table #tmpp
           
          如果有 id 主鍵 ( 數字 , 自增 1 的那種 ), 那么 :(sql server2000 下測試通過 )
           delete from person where id not in
           (select id=min(id) from person group by UserName)
          2.復制表(并且復制記錄)
            select * into persontwo from person(只復制表結構)
            insert into persontwo select UserName,Address,Content from person(插入記錄)
          3.獲取表中最小未使用的ID
            SELECT (CASE WHEN EXISTS(SELECT * FROM person b WHERE b.Id = 1) THEN MIN(Id) + 1 ELSE 1 END) as Id
           FROM  person
           WHERE NOT Id IN (SELECT a.Id - 1 FROM person a)

          4.delete from tablea & truncate table tablea的區別

            truncate語句執行速度快,占資源少,并且只記錄頁刪除的日志;
           delete對每條記錄的刪除均需要記錄日志

          posted on 2006-11-23 09:08 周銳 閱讀(306) 評論(0)  編輯  收藏 所屬分類: MySQL 、Oracle 、SQL Server
          主站蜘蛛池模板: 伊春市| 高淳县| 凯里市| 鄂托克前旗| 黄石市| 图片| 江门市| 志丹县| 潜山县| 东安县| 莒南县| 辉县市| 邢台市| 泰和县| 上犹县| 望都县| 巴南区| 汕头市| 久治县| 封开县| 包头市| 黎城县| 会理县| 连云港市| 鹤岗市| 湘潭县| 沈阳市| 扎囊县| 鞍山市| 寿光市| 西吉县| 崇义县| 平塘县| 吴堡县| 太原市| 玉环县| 富锦市| 宁阳县| 沁阳市| 康定县| 砚山县|