`
jjxboy
  • 浏览: 5392 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
最近访客 更多访客>>
社区版块
存档分类
最新评论

SQL 2008循环所有表和所有列

阅读更多
其实很简单,相对于SQL 2000改了sys.all_objects和sys.columns

declare @tblname varchar(200)

declare @object_id   int

declare tbl_cursor CURSOR for

select name,object_id from sys.all_objects where type='u'

 

open tbl_cursor

 

FETCH NEXT FROM tbl_cursor

INTO @tblname,@object_id

 

while @@FETCH_STATUS = 0

Begin

 

    declare @str varchar(8000)

    declare @selectstr varchar(2000)

    set @selectstr=''

    set @str='INSERT INTO '+ @tblname +'('

    --print @tblname,@object_id

    declare @colname varchar(200)

    declare col_cursor CURSOR for

    select name from sys.columns where object_id=@object_id order by column_id

    open col_cursor

    FETCH NEXT FROM col_cursor INTO @colname

    WHILE @@FETCH_STATUS = 0

    BEGIN

       set @str=@str+@colname+','

       --Print @str

       set @selectstr=@selectstr+@colname+','

       --Print @colname

       FETCH NEXT FROM col_cursor INTO @colname

    END

    close col_cursor

    deallocate col_cursor

   

    set @str=substring(@str,0,len(@str))

    set @selectstr=substring(@selectstr,0,len(@selectstr))

    set @str=@str+') SELECT ' +  @selectstr +' FROM '+ @tblname

    Print @str

   

    fetch next from tbl_cursor into @tblname,@object_id 

End

 

close tbl_cursor

deallocate tbl_cursor



本文转载自:
http://blog.csdn.net/lihonggen0/archive/2008/10/27/3155755.aspx
分享到:
评论

相关推荐

    sqlserver 循环临时表插入数据到另一张表

    sqlserver 循环临时表插入数据到另一张表 -- 声明变量 DECLARE @SupCode as varchar(100), @ProdCode as varchar(50), @PackLayer as varchar(50), @CodeStatus as varchar(50), @ProductId as varchar(50), @...

    动态sql创建表、列

    这里的`@fields`是一个包含字段名和类型的集合,循环遍历并构造SQL语句,最后执行生成的SQL创建表。 接下来,我们来看`createTable.sql`文件,这很可能包含了动态创建表的完整SQL脚本。它可能包括了获取表结构信息...

    将SQL数据表的一列转换为一行.docx

    SQL 数据表列转换为一行 在数据库管理中,经常会遇到将...这个示例展示了如何使用存储过程、临时表、动态 SQL 语句、 WHILE 循环、CALL 语句、ALTER TABLE 语句和 UPDATE 语句来将 SQL 数据表的一列转换为一行多列。

    sql列数不固定查询语句

    1. **动态构建SELECT子句**:通过循环遍历`CodeA`和`CodeB`的所有可能组合,构建出对应的聚合查询字段。 2. **处理聚合逻辑**:对于每个`CodeA`和`CodeB`的组合,使用`CASE WHEN`语句来确定哪些记录会被计算总和。 3...

    SQl语句-99乘法表

    本例中的两个`WHILE`循环分别实现了外层循环(控制行数)和内层循环(控制每行中的列数)。具体如下: - **外层循环**:`@i ,表示乘法表的最大行数为9。 - **内层循环**:`@j ,表示每行的列数逐渐增加,直至当前...

    sqlserver九九乘法表

    sqlserver九九乘法表,使用whlie循环语句实现九九乘法表

    Microsoft SQL Server 2008 T-SQL Fundamentals

    这涉及到列选择、表连接、聚合函数以及WHERE子句的使用,这些都是进行数据查询的基本元素。 接下来,书中会讲解INSERT、UPDATE和DELETE语句,这些是用于管理数据库中数据的操作语句。掌握这些语句,可以让读者对...

    PL_SQL生成双色球所有组合

    为了存储所有的双色球组合,首先需要创建一个表`T_SSQ`,该表包含7列,分别对应六个红球和一个蓝球。表结构创建代码如下: ```sql CREATE TABLE T_SSQ ( RED1 NUMBER, RED2 NUMBER, RED3 NUMBER, RED4 NUMBER, ...

    SQL SERVE根据值查找所在的表和字段

    通过访问系统表`sys.columns`和`sys.objects`,我们可以获取到所有表的信息以及它们的列信息。然后,利用这些信息构造动态SQL语句,执行这些语句就可以找到指定值出现的位置。 #### 三、实现步骤 1. **定义变量**:...

    sql server 生成交叉表

    此描述进一步明确了目标是使用标准SQL语法来实现交叉表的功能,即在一个表格中,行和列的数据可以相互转换,形成类似透视的效果。 #### 知识点详解 ### 一、创建临时表并填充数据 ```sql CREATE TABLE #result ( ...

    sql server 中行转列

    - **动态拼接 SQL**:通过循环遍历 `course` 表,将每门课程的名字动态添加到 `@sql` 变量中,形成一个包含多个 `CASE` 表达式的 SQL 语句。 - **执行动态 SQL**:使用 `EXEC` 执行最终构建好的 SQL 语句。 #### 五...

    SQL动态日期列生成并统计

    在SQL中,动态生成日期列是一项常见的需求,特别是在数据分析和报表生成时。这个场景中,我们需要根据输入的日期区间,比如"2015-08"到"2016-02",生成相应的日期列,并进行统计。下面我们将深入探讨如何实现这一...

    SQLServer2008技术内幕:T-SQL查询

    在SQL Server 2008中,SELECT语句是数据查询的基础,它允许用户从一个或多个表中选择特定的行和列。书中可能涵盖了WHERE子句、聚合函数(如COUNT、SUM、AVG等)、GROUP BY和HAVING子句,以及ORDER BY用于排序结果。...

    Sql按天周月循环调度执行方法

    数据库说明.xls文件可能是对SQL脚本中涉及的数据表、字段和业务逻辑的详细解释。在Excel表格中,它可能列出了数据库结构、字段含义、数据类型以及相关的业务规则,帮助运维人员理解并正确执行SQL脚本。同时,这也为...

    microsoft sql server 2008技术内幕 t-sql语言基础

    6. **流程控制语句**:如IF-ELSE、WHILE、BEGIN-END块,用于在T-SQL中实现条件分支和循环逻辑。 7. **存储过程和函数**:存储过程是预编译的T-SQL代码集合,可重复使用并提高性能。函数则返回一个值,可以被其他...

    sqlserver sql语法大全

    - `INFORMATION_SCHEMA.TABLES`:包含当前数据库中的所有表的信息。 #### 判断存储过程是否存在 使用`OBJECT_ID`检查存储过程是否存在。 **语法示例:** ```sql IF OBJECT_ID(N'[dbo].[存储过程名称]', 'P') IS ...

    sql 数据库 得到表列名

    根据提供的文件信息,本文将详细解释如何通过 SQL 查询获取数据库表中的所有列名,并对代码进行解析。 ### 获取表列名的重要性 在处理 SQL 数据库时,了解如何快速且准确地获取表中的列名是非常重要的。这不仅能...

    SQL数据库所有表中查找关键字.doc

    6. 使用 WHILE 循环来遍历所有表和列,并构建动态 SQL 语句来搜索关键字。 7. 使用 EXEC 语句来执行动态 SQL 语句,并将搜索结果插入到临时表 #t 中。 8. 使用 SELECT 语句来返回临时表 #t 中的搜索结果。 使用该...

    SQL语句大全,包括所有常用的SQL语句

    - `SELECT`:从数据库表中检索数据行和列。可以使用星号(*)表示选择所有列,或指定具体的列名。 - `INSERT INTO`:向数据库表添加新数据行。可以插入单行数据或批量数据。 - `DELETE FROM`:从数据库表中删除...

    sql语法大全一览表

    以上是根据提供的文件信息整理出的SQL语法知识点及其具体应用示例,涵盖了数据查询、插入、删除、更新、表的创建与修改、权限管理以及一些高级功能如变量声明和循环控制等。这些知识点是SQL学习者必须掌握的基础,也...

Global site tag (gtag.js) - Google Analytics