Sqlserver 循环表

CREATE TABLE dbo.[User] (
  UID BIGINT IDENTITY
 ,Name VARCHAR(50) NOT NULL
 ,Pwd VARCHAR(50) NOT NULL
 ,CONSTRAINT PK_User PRIMARY KEY CLUSTERED (UID)
) ON [PRIMARY]
-- 方法2:使用表变量
-- 声明表变量
DECLARE @temp TABLE
(
    UID BIGINT,
    Name VARCHAR(50),
    Pwd VARCHAR(50)
);

-- 将源表中的数据插入到表变量中
INSERT INTO @temp(UID, Name, Pwd )
SELECT UID,Name,Pwd FROM [User]
ORDER BY UID;

-- 声明变量
DECLARE
    @UID AS BIGINT,
    @Name AS VARCHAR(50),
    @Pwd AS VARCHAR(50);

WHILE EXISTS(SELECT UID FROM @temp)
BEGIN
    -- 无序堆top1 有索引 top1  SET ROWCOUNT 1 无差别
    SELECT top 1 @UID= UID, @Name= Name,@Pwd= Pwd FROM @temp;
   -- SELECT @UID,@Name,@Pwd
    PRINT ‘主键‘+ cast(@UID as varchar(50))+‘用户名‘+@Name+‘密码‘+@Pwd
   -- SET ROWCOUNT 0
    DELETE FROM @temp WHERE UID=@UID;
END
时间: 2024-10-11 21:58:34

Sqlserver 循环表的相关文章

SqlServer循环 和 批量倒数据

SqlServer循环语句 declare @i int set @i =1 while(@i<5) begin  set @i = @i+1  insert into text(id,name) values('1','王麻子') end SqlServer批量倒数据 如果两张表字段相同的话: insert into text1 select * from text 如果两张表字段不同的话: insert into text1(fid,fname,fage...) select fid,fna

SQLServer清空表

TRUNCATE TABLE TABLE_NAME这个不记日志.delete table table_name这个记日志drop table table_name删除表 TRUNCATE语法TRUNCATE TABLE TABLE_NAME如:TRUNCATE TABLE TEST删除TEST表中的所有数据 SQLServer清空表,布布扣,bubuko.com

sqlserver锁表、解锁、查看锁表

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 面演示一个实例,它使用sys.dm_tran_locks动态视图监视数据库中锁的活动. 打开一个查询窗口,执行如下语句: USE AdventureWorks BEGIN TRAN SELECT ProductID, ModifiedDate FROM Production.ProductDocument WITH (TABLOCKX) 打开另一个查询窗口

SqlServer将表中数据复制到另一张表

insert into phone2(ph,attr,type,carrier) select top 1000 ph,attr,type,carrier from phone 将表phone的字段和前1000条数据复制到Phone2表 数据库中的某个表删除重复数据(phone2表不能存在) select distinct  * into phone2 from phone 表phone的数据放到phone2中(phone2表可以存在) insert into phone2(ph,attr,ty

T-SQL 循环表的一种方式

原文来自:https://www.lesg.cn/netdaima/sqlservert-sql/2016-463.html SsqlServer 中循环表有几种方式 1.临时表 2.游标 3-. 下面就来说说怎么用临时表格来循环数据 create table t( id int not null primary key identity(1,1), dt datetime not null default(getdate()), name varchar(100) not null defau

SqlServer系统表认识和操作

地址:http://technet.microsoft.com/zh-cn/library/ms178551.aspx 一.sys.sysindexkeys 包含有关数据库的索引中的键或列的信息.(表主键信息) 列名 数据类型 说明 id int 表的 ID. indid smallint 索引的 ID. colid smallint 列的 ID. keyno smallint 该列在索引中的位置. SqlServer系统表认识和操作,布布扣,bubuko.com

Oracle拉出在sqlserver建表的语句

我们将Oracle数据同步到sqlserver时,是先得在sqlserver端建表的. 复杂的字段我们不同步,就只考虑下面四种数据类型. Oracle到SQLServer做的映射: int -> int number -> decimal(18,6) number(p,s) -> decimal(p,s) date -> datetime varchar2(n) -> nvarchar(n) 下面是从Oracle端执行的plsql脚本. /* 简介:从oracle拉出在mss

解决SQLSERVER数据库表被琐死!

--杀死全部锁死进程ALTER Proc Sp_KillAllProcessInDB@DbName VarChar(100)asif db_id(@DbName) = NullbeginPrint 'DataBase dose not Exist'endelse BeginDeclare @spId Varchar(30) DECLARE TmpCursor CURSOR FORSelect 'Kill ' + convert(Varchar, spid) as spIdfrom master.

oracle&amp;&amp;Sqlserver获取表名列名主键及数据类型

SQlserver获得列名,列类型,列类型长度,scale,prec等数据类型(syscolumns,systypes,sysobjects均为视图) select a.name as colname, b.name as typename,a.length as length,a.scale as scale,a.prec as prec from syscolumns a,systypes b ,sysobjects c where a.xusertype=b.xusertype and a