• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > sqlserver 动态创建临时表的语句分享

sqlserver 动态创建临时表的语句分享

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了动态创建,临时表等相关知识,希望本文的分享对您有所帮助

开发业务需求,需要对一个表作数据分析,由于数据量较大,而且分析时字段会随条件相应变化而变化

因此计划先把数据转插入一个临时表,再对临时表的数据进行分析。
问题点是如何动态创建临时表。原先Insus.NET使用下面代码实现:
代码如下:
DECLARE @s NVARCHAR(MAX) = '
IF OBJECT_ID(''[dbo].[#Tb]'') IS NOT NULL
DROP TABLE [dbo].[#Tb]
CREATE TABLE [dbo].[#Tb]
(
[xxx] INT,
[xxx] NVARCHAR(50),
'+ [dbo].[Column]() + '
)'
EXECUTE(@s)


上面代码中,有一个函数[dbo].[Column]() 是取得一系列动态字段。
其实,上面的代码一点问题也没有,是能正确动态创建一个临时表,但是接下来代码,我们无法再使用这个临时表[dbo].[#Tb] ,因为run第10行代码EXECUTE(@s)这动作之后,进程已经结束了。这样说法,动态创建出来的临时表,也没有什么意义了。
为了解决这个问题,Insus.NET想到了一个方法,算是能解决这个问题。既能动态创建,又能在创建之后,能继续使用这个临时表。

代码如下:
IF OBJECT_ID('[dbo].[#Tb]') IS NOT NULL
DROP TABLE [dbo].[#Tb]
CREATE TABLE [dbo].[#Tb]
(
[xxx] INT,
[xxx] NVARCHAR(50)
)
DECLARE @tb NVARCHAR(MAX) = 'ALTER TABLE [dbo].[#Tb] ADD ' + [dbo].[Column]()
EXECUTE(@tb)


只要细心看了一下,就是可以知道,可以先按正常创建这个临时表,再动态修改这个临时表的字段。这样做之后,程序run完第10行代码之后,就能再继续使用这个临时表,如:
SELECT * FROM [dbo].[#Tb]
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • sqlserver 动态创建临时表的语句分享

相关文章

  • 2018-12-05恢复操作如何使用?总结恢复操作实例用法
  • 2018-12-05MySQL视频教程的源码课件推荐
  • 2018-12-05Oracle 用户权限管理方法
  • 2018-12-05SQL Server中通过reverse取某个最后一次出现的符号后面的内容(字
  • 2018-12-05事务概念函数定义与用法汇总
  • 2018-12-05oracle区管理和段空间管理详细介绍
  • 2018-12-05MySQL统计函数GROUP_CONCAT使用陷阱分析_MySQL
  • 2018-12-05MySQL prepare语句的SQL语法
  • 2018-12-05sql2005 日志清理 SQL2005压缩清除日志的方法
  • 2018-12-05有关MySQL数据库中的外键约束详解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL SQL语句优化的10条建议
    • MySQL笔记之数学函数详解
    • MySQL5.7在Windows8.1下忘记密码的问题解决(图文)
    • mysql数据分组和排序及SELECT子句顺序
    • MySQL 数据类型 详解
    • MyEclipse连接MySQL数据库报错解决办法
    • MYSQL每隔10分钟进行分组统计的实现方法
    • SQL Server 7.0 入门(一)
    • 如何写一个属于自己的数据库封装(2)
    • linux下oracle设置开机自启动实现方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有