sql for 循环语法案例

For循环案例

  1. 1.     创建a表,数据如下:

create table a(

id   int,

name  varchar(30)


Id


Name


1


关羽


500


张飞


1000


赵云


100


马超


200


黄忠

2.创建b表,现要求将a表数据循环插入到b表,每次循环插入一条数据,显示结果如下:


Id


Name


1


关羽


500


张飞


1000


赵云


100


马超


200


黄忠

3.因为表中的id不连续,所以我们先要为id进行编号,创建临时表 #c,把a表数据插入到#c,

select identity(int,0,1) as L,id,name  into #c from a

Select * from #c--查询临时表#c

Drop table #c –删除临时表#c

这是我们id就有相应的编号,如图:


L


Id


Name


1


1


关羽


2


500


张飞


3


1000


赵云


4


100


马超


5


200


黄忠

4.我们最后把#c表的数据依次循环一条插入到b表

declare @a int

set @a=0

select identity(int,0,1) as L,id,name into #c from a

--select * from  #c

while @a<10

begin

--select * from b

insert into b(id,name ) select id,name  from #c where  [email protected]

set @[email protected]+1

end

select * from  b

5.这时我们就把表a的数据依次循环插入到b表了,如图:

第一次循环插入:


L


Id


Name


1


1


关羽

第二次循环


2


500


张飞

第三次循环


3


1000


赵云

第四次循环


4


100


马超

第五次循环


5


200


黄忠

第六次循环

无数据插入

第七次循环

无数据插入

第八次循环

无数据插入

第九次循环

无数据插入

第十次循环

无数据插入

6.完成的存储过程代码:

create procedure sp_xh

as

begin

truncate table b    —-清空b表的记录

declare @a int  --声明变量

set @a=0

select identity(INT,0,1) AS L,id,name  into #c from a

--SELECT * FROM #c

while @a<10  --循环总次数小于10

begin

--select * from b  --查新b表数据

insert into b(id,name ) select id,name   from #c  where  [email protected]

set @[email protected]+1

end

end

--exec sp_xh

时间: 2024-08-10 21:13:11

sql for 循环语法案例的相关文章

PL/SQL程序设计基础语法详解(一)

一.什么是PL/SQL(Procedure Language/SQL) 概念:PLSQL是Oracle对sql语言的过程化扩展 指在SQL命令语言中增加了过程处理语句(如分支.循环等),使SQL语言具有过程处理能力. PL/SQL的结构: declare 说明部分 (变量说明,光标申明,例外说明 ] begin 语句序列 (DML语句]- exception 例外处理语句 End; 简单的PL/SQL程序 如果是在命令行中需要使用 set serveroutput on先打开显示 declare

SQL 中的语法顺序与执行顺序(转)

很多程序员都很抵触SQL.其实SQL是一整为数不多的声明性语言,只是它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语言.甚至是函数语言. 今天大家共同学习下SQL的语法顺序与执行顺序.(入门级的.大神们可以直接点退出了哈.) SQL 是一种声明式语言 首先要把这个概念记在脑中:“声明”. SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果. SQL 语言声明的是结果集的属性,计算机会根据 SQL 所声明的内容来从数据库中挑选

Atitit.sql&#160;ast&#160;表达式&#160;语法树&#160;语法&#160;解析原理与实现&#160;java&#160;php&#160;c#.net&#160;js&#160;python

Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python 1.1. Sql语法树 ast 如下图锁死1 2. SQL语句解析的思路和过程3 2.1. lexer作为一个工具,完成了对SQL字符串的切割,将语句转化成一个tokens数组.3 2.2. Parser完成了SQL解析的后序部分:使用一个lexer对象作为工具,切出tokens,然后解析语义,绑定相关的系统接口.3 2.3. 关系数据和XML数据库下其抽象语法树分别为: 如图

SQL:1999基本语法(学习笔记)

SQL:1999基本语法 SELECT [DISTINCT] * | 列名称 [AS]别名,........ FROM 表名称1 [别名1][CROSS JOIN表名称2 别名2]| [NATURAL JOIN表名称2 别名2] [ JOIN表名称2 别名2 USING (关联列名称)] [ JOIN表名称2 别名2 on (关联条件)] [LEFT | RIGHT | FULL OUTER JOIN 表2 ON (关联条件)] [WHERE 条件(s)] [ORDER BY 排序的字段 1,A

SQL中部分语法整理

1.SELECT DISTINCT 语句 关键词DISTINCT用于返回唯一不同的值. 语法: SELECT DISTINCT 列名称 FROM 表名称 2.SELECT INTO语句 SELECT INTO语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO语句常用于创建表的备份复件或者用于对记录进行存档. SQL SELECT INTO语法 把所有的列插入新表: SELECT *     INTO new_table_name [IN externaldatabase]

SQL[连载2]语法及相关实例

SQL语法 数据库表 一个数据库通常包含一个或多个表.每个表由一个名字标识(例如:"Websites"),表包含带有数据的记录(行). 在本教程中,我们在 MySQL 的 RUNOOB 数据库中中创建了 Websites 表,由于存储网站记录. 我们可以通过以下命令查看 "Websites" 表的数据: mysql> use RUNOOB; Database changed mysql> set names utf8; Query OK, 0 rows

SQL VIEW 使用语法

之前一直都不知道VIEW有什么作用,写程序的时候也很少遇到过,复习SQL语句的时候碰到了,就记录下来吧. 什么是视图? 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段.我们可以向视图添加 SQL 函数.WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表. 注释:数据库的设计和结构不会受到视图中的函数.where 或 join 语句的影响. SQL CREATE

SQL DML 基础语法

1.INSERT INTO 语句 INSERT INTO 语句用于向表格中插入新的行. 语法 INSERT INTO 表名称 VALUES (值1, 值2,....) 我们也可以指定所要插入数据的列: INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) 2.Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 3.DELETE 语句 DELET

SQL Server 连接问题案例解析(1)

SQL Server 连接问题案例解析(1) 转载自:http://blogs.msdn.com/b/apgcdsd/archive/2015/04/27/sql.aspx?CommentPosted=true#commentmessage Microsoft Network Monitor(Netmon)是由微软发布的一款网络协议数据分析工具,利用Netmon可以捕获网络数据并进行查看和分析. 在处理SQL Server 的连接问题时,Netmon常常会起到关键的作用.在本篇博文中,我将为大家