zoukankan      html  css  js  c++  java
  • 使用表变量或临时表遍历数据

    -- 方法1:使用表变量
      -- 声明表变量
      DECLARE @temp TABLE
      (
          empid INT,
          firstname NVARCHAR(10),
          lastname NVARCHAR(20)
      );
     
     -- 将源表中的数据插入到表变量中
     INSERT INTO @temp(empid, firstname, lastname )
     SELECT empid,firstname,lastname FROM HR.Employees
     ORDER BY empid;
     
     -- 声明变量
     DECLARE
         @empid AS INT,
         @firstname AS NVARCHAR(10),
         @lastname AS NVARCHAR(20);
        
     WHILE EXISTS(SELECT empid FROM @temp)
     BEGIN
         -- 也可以使用top 1
         SET ROWCOUNT 1
         SELECT @empid= empid, @firstname= firstname,@lastname= lastname FROM @temp;
         UPDATE HR.Employees SET fullname= @firstname+' '+@lastname WHERE empid=@empid;
         SET ROWCOUNT 0
        
         DELETE FROM @temp WHERE empid=@empid;
     END
    
      -- 方法2:使用临时表
      -- 创建临时表
      IF OBJECT_ID('tempdb.dbo.#tempemployees','U') IS NOT NULL DROP TABLE dbo.#tempemployees;
      GO
     
      SELECT empid,firstname,lastname
      INTO dbo.#tempemployees
      FROM HR.Employees
      ORDER BY empid;
     
     --SELECT * FROM dbo.#tempemployees;
     
     -- 声明变量
     DECLARE
         @empid AS INT,
         @firstname AS NVARCHAR(10),
         @lastname AS NVARCHAR(20);
        
     WHILE EXISTS(SELECT empid FROM dbo.#tempemployees)
     BEGIN
         -- 也可以使用top 1
         SET ROWCOUNT 1
         SELECT @empid= empid, @firstname= firstname,@lastname= lastname FROM dbo.#tempemployees;
         UPDATE HR.Employees SET fullname= @firstname+' '+@lastname WHERE empid=@empid;
         SET ROWCOUNT 0
        
         DELETE FROM dbo.#tempemployees WHERE empid=@empid;
     END
  • 相关阅读:
    Chromium之文件类型
    To Chromium之浏览器外框UI(2)
    union的代码有点难理解额
    Graphic的一些基本概念
    windbg*****************************TBD
    x86/x64的stack*****************************TBD
    关于tp框架终于有点点头目了、、、、
    学习使用thinkphp框架制作cms
    我只是一名小小的员工
    每天读5分钟,受益匪浅、
  • 原文地址:https://www.cnblogs.com/zhchsh/p/9087274.html
Copyright © 2011-2022 走看看