当前位置:  数据库>sqlserver

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

    来源: 互联网  发布时间:2014-10-04

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

因此计划先把数据转插入一个临时表,再对临时表的数据进行分析。
问题点是如何动态创建临时表。原先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]

    
 
 

您可能感兴趣的文章:

  • 为什么用sqlserver生成的创建表的sql语句中都不包含主键信息???
  • sqlserver 禁用触发器和启用触发器的语句
  • sqlserver中遍历字符串的sql语句
  • 为什么我在sqlserver里面可以运行的语句放到access里面就不能通过?
  • sqlserver中向表中插入多行数据的insert语句
  • SQLSERVER查询所有数据库名,表名,和字段名的语句
  • SQLServer Top语句参数化方法
  • sqlserver中求字符串中汉字的个数的sql语句
  • 一段压缩MS SQLServer日志的语句
  • SQLServer中字符串左对齐或右对齐显示的sql语句
  • SQLSERVER语句的执行时间显示的统计结果是什么意思
  • sqlserver 字符串分拆 语句
  • 在SQLServer上查看SQL语句的执行时间的方法
  • SQLServer 2000定时执行SQL语句
  • sqlserver中去除字符串中连续的分隔符的sql语句
  • sqlserver中重复数据值只取一条的sql语句
  • sqlserver 多表关联时在where语句中慎用trim()方法
  • sqlserver清空service broker中的队列的语句分享
  • sqlserver获取数据库信息sql语句
  • 请问通过纯jdbc能否联 sqlserver7.0,注意不是通过jdbc-odbc桥,如果能的话,driver在哪里下载?连接的语句怎么写?
  • 用sql脚本创建sqlserver数据库范例语句
  • 用sql脚本创建sqlserver数据库触发器范例语句
  • sqlserver游标用法 创建游标与关闭游标
  • 简单实现SQLServer转MYSQL的方法 iis7站长之家
  • SQLSERVER 创建索引实现代码
  • SQLServer触发器创建、删除、修改、查看示例代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 连接sqlserver的url是jdbc:microsoft:sqlserver://192.168.0.100:1433,他连那一个数据库呢?
  • (100分)用Microsoft jdbc Driver for sqlserver2000(type4)访问sqlserver2k的问题,help!
  • 通过SQLSERVER重启SQLSERVER服务和计算机的方法
  • 怎样用文JDBC for sqlserver访问SQLSERVER 数据库请大侠给出一个完整的程序代码
  • (100分)jdbc连接sqlserver 200出错.[SQLServer 2000 Driver for JDBC]Error establishing socket.
  • 如何连接sqlserver2000数据库
  • 深入JDBC sqlserver连接写法的详解
  • how to 连接到sqlserver2000?
  • 请问如何直接sqlserver?
  • SQLServer JDBC Driver
  • 在sqlserver2000时中文问题。
  • 设置密码保护的SqlServer数据库备份文件与恢复文件的方法
  • 如何使用JSP 连接SQLSERVER数据库,请不吝赐教!(在线等,急救!)
  • 简单实现SQLServer转MYSQL的方法
  • 求助!SQLServer2000 JDBC Driver 不能加载?
  • Resin+Jsp+Sqlserver2000的问题!在线等候!
  • applet用jdbc链接SQLServer 2000的问题
  • 请问连接SQLServer 的驱动器是什么呢?
  • jdbc:microsoft:sqlserver://localhost:1433;DatabaseNameOPTIONAL=webmail???
  • 如何用SQLServer2k-JDBC连接数据库?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3